【问题标题】:What's the right way to make new methods available to views from a Rails Gem?使 Rails Gem 中的视图可以使用新方法的正确方法是什么?
【发布时间】:2012-03-23 11:42:39
【问题描述】:

如果我想创建一个新的 Rails gem 来向 Rails 视图添加方法,那么正确的方法是什么?是扩展 ActionView::Base 吗?它会以某种方式涉及 ApplicationHelper 吗?

【问题讨论】:

    标签: ruby-on-rails actionview


    【解决方案1】:

    许多 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

    替代方案:

    https://github.com/plataformatec/simple_form/blob/master/lib/simple_form/action_view_extensions/form_helper.rb

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 2021-11-24
      相关资源
      最近更新 更多