用户按下保存按钮后,我需要同时呈现新页面和 render_to_string 预览此页面。将其存储到DB中。
所以我得到了DoubleRenderError异常。
我尝试存根@performed?
但是在第一次渲染后清除Layouts。有什么想法吗?
感谢您的回答!
答案 0 :(得分:1)
我在同一个请求中成功使用了render_to_string和render。
我认为你需要确保先调用render_to_string。 YMMV
答案 1 :(得分:0)
我可能会使用机架中间件来做这件事。
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