如何在资产管道中包含ActionView助手?
如何包含资源管道执行上下文可以访问的Rails视图助手?
一个示例用例是使用form_tag
帮助方法为表单生成标记,并使其可用于Javascript模板(如handlebars,jst等)。
我使用handlebar_assets gem,但这也适用于任何erb
或haml
模板。
创建一个初始化程序,并在资产的上下文中包含帮助程序,如下所示:
Rails.application.assets.context_class.class_eval do include ActionView::Helpers include MyAppHelper include Rails.application.routes.url_helpers end
取自这个链轮问题
上面的答案已经过时了。 从sprockets-rails 3开始,适当的接口是一个配置块,如下所示:
Rails.application.config.assets.configure do |env| env.context_class.class_eval do # include SomeHelper end end
此配置块仍应放在初始化程序中。
参考: https : //github.com/rails/sprockets-rails/issues/307#issuecomment-170707886