3

我想让事情保持干燥,所以我正在考虑创建一个配置文件并将所有 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:)

4

0 回答 0