2013-01-11 73 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

相關問題