我需要能够捕获一个控制器动作的输出作为一个字符串 - 你会认为这将是一件相对容易的事情,但我不能得到任何render/render_to_string方法上班。捕获控制器动作的输出
我需要能够存储控制器和动作的引用,然后能够抓住它的输出进一步在一个进程(实际上是服务器端打印)
任何想法 - 谢谢?
使用渲染/ render_to串等(在模型)
view = ActionView::Base.new(ActionController::Base.view_paths)
view.extend ApplicationHelper
output = view.render(:action => '<someaction>', :controller => '<somecontroller')
这导致;
/Users/---/gems/activesupport-3.0.5/lib/active_support/whiny_nil.rb:48:in `method_missing': undefined method `formats' for nil:NilClass (NoMethodError)
如果我尝试使用render_to_string我得到;
undefined method `render_to_string' for #<ActionView::Base:0x0000010400c760> (NoMethodError)
给你带路使用'render_to_string' – fl00r
可能重复[如何获取控制器的动作的呈现输出,而无需访问网页?](http://stackoverflow.com/questions/4106724/how-do-i-get-the-rendered-output-没有访问我们) – Simon