Send a file then redirect to another page


I’m editing a controller action that previously used “send_file” to send
a file and then just returned, like

send_file(some_params) and return

Now, though, the downloading has been moved into a different controller
action, and i need to get back to the ‘show’ page after the user starts
downloading the file. After doing the send_file, i tried to render the
show action, but this makes the controller think that the show page url
is the file i’m trying to send: i get an error message like “The file
could not be located…”.

Can anyone tell me if/how i can send the file and then
redirect_to/render another view page?



Max W. wrote:

could not be located…".
You can’t. The browser has made an http request and you get to provide
one response, either you render a template/send a file (those two are
basically the same thing: a 200 response containing some data) or you
redirect (a 30x response telling the browser where to go). You can’t
do both.