手动渲染模板/部分时包括帮助器

时间:2010-07-30 07:07:07

标签: ruby-on-rails

我使用以下代码将模板呈现为我稍后可以使用的字符串:

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 个答案:

答案 0 :(得分:5)

您可能需要查看abstract_controller/rendering.rb看起来在rails 3中我们应该能够做到这样的事情:

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

模块master_helper_module现在可以通过名称_helpers访问,它应该已经包含在view_context_class