使用gem添加辅助方法

我已经找到了很多关于添加表单助手方法的信息(参见我的其他问题之一),但是我找不到任何关于添加辅助方法的信息,就好像它们是在application_helper.rb中定义的那样。

我已经尝试将rails_helper.rb从rails应用程序复制到gem中但是没有用。

我也尝试过:

 class ActionView::Helpers 

..但是会产生错误。

在某处为辅助方法创建一个模块:

 module MyHelper def mymethod end end 

将其混合到ActionView :: Base中(例如在init.rblib/your_lib_file.rb

 ActionView::Base.send :include, MyHelper 

扩展@ sdbrown对Rails 4的优秀答案:

 # in in lib/my_rails_engine.rb require 'my_rails_engine/my_rails_helper.rb' require 'my_rails_engine/engine.rb' 

 # in lib/my_rails_engine/engine.rb module MyRailsEngine class Engine < ::Rails::Engine initializer "my_rails_engine.engine" do |app| ActionView::Base.send :include, MyRailsEngine::MyRailsHelpers end end end 

最后

 # in lib/my_rails_engine/my_rails_helper.rb module MyRailsEngine module MyRailsHelpers # ... def your_helper_here end end end