I’m trying to print a report as a pdf, which uses the render method.
This works fine. The problem comes at the end when I try to redirect
to the index page, which causes the double render. I’m sure there’s a
way around this, but I’m coming up blank. If I remember right, there
was a method that acted almost like redirect_to, but wouldn’t cause
the error. Please help…
Thanks
Bob
How come you want to present the report and then close it and go
somewhere
else? people wont see it. i dont get it , it seems you used render where
you
should have used send_file but i need to see your code to be sure.
When I render the report, it’s to a file that can be viewed, printed,
or backed up as needed. It is to a pdf, so I’m using:
respond_to do |format|
format.pdf { send_data render_to_pdf( :action => 'idreport',
:layout =>
‘pdf_report’),
:filename => "ID List
for " + @today.strftime(’%m-%d-%y’) + “.pdf” }
end
Then the error is caused by a redirect_to(households_url)
Bob
In the redirect line of your code that is causing the issue, at the very
end place the following:
and return false
If you are using render above a respond_to block the double render error
usually occurs.
On Mon, Jun 6, 2011 at 3:41 PM, Bob S. [email protected] wrote:
When I render the report, it’s to a file that can be viewed, printed,
or backed up as needed. It is to a pdf, so I’m using:
That i understand , you can render the file inline or send it to the
user,
what i dont understand is the need to redirect after that. Please
explain.
But be aware that you cant double render, it will always raise an
exception.
The reason for the redirect_to is to end the process after the file is
created at the index page
so the user doesn’t have to find his way back. Is there a way to go to
the start or index page maybe?
Bob
On Jun 6, 8:10pm, Bob S. [email protected] wrote:
I’m trying to print a report as a pdf, which uses the render method.
This works fine. The problem comes at the end when I try to redirect
to the index page, which causes the double render. I’m sure there’s a
way around this, but I’m coming up blank. If I remember right, there
was a method that acted almost like redirect_to, but wouldn’t cause
the error. Please help…
I don’t think you do - there can only be a single response to an http
request, so you can’t both provide a file and show a response (unless
perhaps you were to do something like have your “success” page include
an iframe with the actual download)
Fred
Fred