使用gem添加辅助方法
我已经找到了很多关于添加表单助手方法的信息(参见我的其他问题之一),但是我找不到任何关于添加辅助方法的信息,就好像它们是在application_helper.rb
中定义的那样。
我已经尝试将rails_helper.rb从rails应用程序复制到gem中但是没有用。
我也尝试过:
class ActionView::Helpers
..但是会产生错误。
在某处为辅助方法创建一个模块:
module MyHelper def mymethod end end
将其混合到ActionView :: Base中(例如在init.rb
或lib/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