2013-01-11 30 views
9

如何将Rails视图助手包含在资产管道执行上下文中?如何在资产管道中包含ActionView助手?

一个示例用例是使用form_tag辅助方法为表单生成标记,并使其可用于Javascript模板(如handlebars,jst等)。

我使用handlebar_assets宝石,但这应该适用于任何erbhaml模板。

回答

29

创建inititializer,包括在这样的资产范围内的助手:

Rails.application.assets.context_class.class_eval do 
    include ActionView::Helpers 
    include MyAppHelper 
    include Rails.application.routes.url_helpers 
end 

从这个sprockets issue

+0

这也为我工作时,我想呈现的自定义ERB到字符串'模板= ERB.new(HTML) template.result(绑定)'。没有这个,我无法使用concat和其他简单的助手。 – portforwardpodcast

+0

@brutuscat,你能澄清一下你会把这段代码放在哪里吗?谢谢 – jackerman09

+2

@ jackerman09没问题:“创建inititializer”,在这里看到http://guides.rubyonrails.org/configuring.html#using-initializer-files – brutuscat

相关问题