用戶按下保存按鈕後,我需要渲染新頁面和render_to_string在同一時間預覽此頁面。將其存儲到數據庫中。如何爲每個操作呈現兩個html文檔?
所以我得到了DoubleRenderError異常。
我嘗試存根@performed?
但第一次渲染後清除佈局。有任何想法嗎?
謝謝你的回答!
用戶按下保存按鈕後,我需要渲染新頁面和render_to_string在同一時間預覽此頁面。將其存儲到數據庫中。如何爲每個操作呈現兩個html文檔?
所以我得到了DoubleRenderError異常。
我嘗試存根@performed?
但第一次渲染後清除佈局。有任何想法嗎?
謝謝你的回答!
我已經在同一個請求中成功使用了render_to_string和render。
我認爲你需要確保你先調用render_to_string。 YMMV
我可能會這樣做使用機架中間件。
class ResponseLoggerMiddleware
def initialize(app)
@app = app
end
def call(env)
status, headers, response = @app.call(env)
... save your response to the database ...
[status, headers, response]
end
end
您可以像這樣安裝:
# environment.rb
Rails::Initializer.run do |config|
...
config.middleware.use ResponseLoggerMiddleware
end
我看到幾個解決方案: - 創建回調到其他行動 - 創建單獨的控制器旋進這個認定書 – 2009-09-02 16:26:13
幾件事情浮現在腦海中 - 你能說更多關於爲什麼要在數據庫中存儲頁面預覽嗎? – austinfromboston 2009-09-02 16:28:42
很高興! 我應該發送這個HTML作爲電子郵件給用戶。所以我應該渲染這個頁面的預覽。 – 2009-09-03 08:47:39