2010-07-06 79 views
9

我發現了很多關於添加輔助方法的信息(參見我的其他問題之一),但我找不到任何有關添加輔助方法的信息,就好像它們在application_helper.rb中定義的一樣。添加輔助方法和寶石

我試過從軌道應用程序複製application_helper.rb到寶石,但沒有奏效。

我也試過:

class ActionView::Helpers 

..但產生一個錯誤。

回答

24

您的helper方法創建一個模塊的地方:

module MyHelper 
    def mymethod 
    end 
end 

混合成::的ActionView基地(如init.rblib/your_lib_file.rb

ActionView::Base.send :include, MyHelper 
+1

根據@BrandonTilley評論[這裏]( http://stackoverflow.com/questions/5791211/how-do-i-extract-rails-view-helpers-into-a-gem#comment-42572499)你應該使用'ActiveSupport.on_load(:action_view){include MyGem :: ViewHelpers}'代替ActiveSupport 3.0.0中的'send:include'。鏈接SO線程中的更多細節。 – plunntic 2015-08-28 22:26:22