如果我想创建一个新的rails gem,为Rails视图添加方法,那么正确的方法是什么?它是否扩展ActionView :: Base?它会以某种方式涉及ApplicationHelper吗?
答案 0 :(得分:6)
许多gem作者创建了一个模块来定义他们的视图助手方法,然后将它们包含在ActionView::Base
中。
module MyGem
module ActionViewExtensions
module MyHelpers
def my_view_helper
# ...
end
end
end
end
# You can do this here or in a Railtie
ActionView::Base.send :include, MyGem::ActionViewExtensions::MyHelpers
铁路方法:
https://github.com/mynameisrufus/sorted/blob/master/lib/sorted/railtie.rb
替代方案: