Hi,
How do you get the rendered output (sent to the browser) in a controller functional test?
I searched for this, and tried things like
@content_for_layout @response.template.content_for_layout yield yield :layout
CmdJohnson
Hi,
How do you get the rendered output (sent to the browser) in a controller functional test?
I searched for this, and tried things like
@content_for_layout @response.template.content_for_layout yield yield :layout
CmdJohnson
Hi,
How do you get the rendered output (sent to the browser) in a controller functional test?
Have a look at @response.body
Fred
@response.body is an empty string!
With the debugger, I can find @response.template.content_for_layout but that’s not accessible with a method call.
This is the controller code:
respond_to do |format|
format.html
end
@response.body is an empty string!
Are you checking this after the call to the controller has been made ?
Fred
Yes, like this:
get :reload
puts “@response.body: [#{@response.body}]”
Results in:
@response.body:
Yes, like this: get :reload
puts "@response.body: [#...@response.body}]"
Results in:
@response.body:
To me that sounds like the response is actually empty.
Fred
I found the problem. Goldberg is used to generate the page title, but generated an error in test mode. A quick fix was to return an empty layout in test mode.