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
<show page url here> could not be located...".
Can anyone tell me if/how i can send the file and then
redirect_to/render another view 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
<show page url here> 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.