Как правильно сделать новые методы доступными для представлений из Rails Gem? - PullRequest
4 голосов
/ 23 марта 2012

Если я хочу создать новый драгоценный камень rails, который добавляет методы к представлениям Rails, что является правильным способом сделать это? Это расширить ActionView :: Base? Будет ли это как-то связано с ApplicationHelper?

1 Ответ

6 голосов
/ 23 марта 2012

Многие авторы гемов создают модуль, который определяет их вспомогательные методы представления, а затем включает их в 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

Метод Railtie:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...