views:

86

answers:

2

After user push save button, I need to render new page and render_to_string preview of this page in same time. To store it into DB.

So i got DoubleRenderError exception.

I try to stub @performed?

But Layouts purging after first render. Any ideas?

Thank you for answers!

+1  A: 

I've successfully used both render_to_string and render on the same request.

I think you need to make sure you call render_to_string first. YMMV

Tilendor
A: 

I would probably do this using rack middleware.

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

You can install it like this:

# environment.rb
Rails::Initializer.run do |config|
    ...
    config.middleware.use ResponseLoggerMiddleware
end
jonnii