Включая помощников при рендеринге шаблона / частичного от руки - PullRequest
4 голосов
/ 30 июля 2010

Я использую следующий код для рендеринга шаблона в строку, которую я могу использовать позже:

renderer = ActionView::Base.new(MyApp::Application.config.view_path)
# INCLUDE HELPERS HERE
data = renderer.render(:partial => template, :locals => locals)

Однако я хочу иметь доступ к некоторым помощникам (фактически ко всем).В rails 2.3 я смог сделать это:

renderer.extend ApplicationController.master_helper_module

Однако, в Rails 3 это больше не работает.Итак, как мне сделать мои вспомогательные методы доступными для использования в моем шаблоне?

1 Ответ

5 голосов
/ 30 июля 2010

Вы можете посмотреть на abstract_controller/rendering.rb Похоже, что в рельсах 3 мы должны быть в состоянии сделать что-то вроде этого:

renderer = ApplicationController.view_context_class.new(...)

И модуль master_helper_module теперь доступен по имени _helpers и оно должно быть уже включено в view_context_class

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