我需要能夠捕獲一個控制器動作的輸出作爲一個字符串 - 你會認爲這將是一件相對容易的事情,但我不能得到任何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