我想保持干燥,所以我正在考虑创建一个配置文件并将所有网址放在那里等等。它应该是这样的:
# configure.js.erb
some_url = <%= some_url.inspect %>
但是有一个问题:默认情况下不包含url的hlper方法。我已经尝试过了:
# config/initialializer/sprockets_js_erb.rb
module Sprockets::Rails::Helpers
include ::Rails.application.routes.url_helpers
end
这打破了所有方法,将内部_routes
设置为nil
并在_routes.optimize_routes_generation?
中调用lib/action_dispatch/routing/url_for.rb:167
时出现错误(我不知道原因)< / p>
这个问题有一个干净的解决方案吗?谢谢
<小时/> 的修改 好的,我刚刚更改为class Sprockets::Context
并且它可以正常工作,但我仍在寻找更好的解决方案,仅仅改变了ERBTemplate
的{{1}}只有这些解决方案:)