【发布时间】:2012-03-23 11:42:39
【问题描述】:
如果我想创建一个新的 Rails gem 来向 Rails 视图添加方法,那么正确的方法是什么?是扩展 ActionView::Base 吗?它会以某种方式涉及 ApplicationHelper 吗?
【问题讨论】:
如果我想创建一个新的 Rails gem 来向 Rails 视图添加方法,那么正确的方法是什么?是扩展 ActionView::Base 吗?它会以某种方式涉及 ApplicationHelper 吗?
【问题讨论】:
许多 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
替代方案:
【讨论】: