app/helpers/requirejs_helper.rb in requirejs-rails-0.9.1 vs app/helpers/requirejs_helper.rb in requirejs-rails-0.9.2
- old
+ new
@@ -9,11 +9,14 @@
def _requirejs_data(name, &block)
{}.tap do |data|
if name
name += ".js" unless name =~ /\.js$/
- data['main'] = _javascript_path(name).sub(/\.js$/,'')
+ data['main'] = _javascript_path(name).
+ sub(/\.js$/,'').
+ sub(baseUrl(name), '').
+ sub(/\A\//, '')
end
data.merge!(yield controller) if block_given?
end.map do |k, v|
%Q{data-#{k}="#{v}"}
@@ -52,10 +55,12 @@
# Override user paths, whose mappings are only relevant in dev mode
# and in the build_config.
run_config['paths'] = paths
end
+
+ run_config['baseUrl'] = baseUrl(name)
html.concat <<-HTML
<script>var require = #{run_config.to_json};</script>
HTML
end
@@ -86,7 +91,14 @@
if defined?(javascript_path)
javascript_path(name)
else
"/assets/#{name}"
end
+ end
+
+ def baseUrl(js_asset)
+ js_asset_path = javascript_path(js_asset)
+ uri = URI.parse(js_asset_path)
+ asset_host = uri.host && js_asset_path.sub(uri.request_uri, '')
+ [asset_host, Rails.application.config.assets.prefix].join
end
end