我想让事情保持干燥,所以我正在考虑创建一个配置文件并将所有 url 等放在那里。它应该是这样的:
# 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
这个问题有一个干净的解决方案吗?谢谢
编辑 好的,我刚刚更改为
class Sprockets::Context
并且它可以工作,但我仍在寻找更好的解决方案,只是改变ERBTemplate
的whishfull Context
:)