diff options
author | Jeff Kreeftmeijer <jeff@kreeftmeijer.nl> | 2016-05-19 15:20:03 +0200 |
---|---|---|
committer | Jeff Kreeftmeijer <jeff@kreeftmeijer.nl> | 2016-06-03 16:04:12 +0200 |
commit | f650e0324207e46ed5240380e60bdf1e2a5023a6 (patch) | |
tree | 5710e74cda20c0dd07f0cf67c933d01ffad992d7 /RAILS_VERSION | |
parent | 4e85538dddf47877cacc65cea6c050e349af0405 (diff) | |
download | rails-f650e0324207e46ed5240380e60bdf1e2a5023a6.tar.gz rails-f650e0324207e46ed5240380e60bdf1e2a5023a6.tar.bz2 rails-f650e0324207e46ed5240380e60bdf1e2a5023a6.zip |
Use `#performed?` to terminate controller callbacks
Since 69009f, `ActionController::Metal::DataStreaming#send_file` doesn't
set `@_response_body` anymore.
`AbstractController::Callbacks` used `@_response_body` in its callback
terminator, so it failed to halt the callback cycle when using `#send_file`
from a `before_action`.
Instead, it now uses `#performed?` on `AbstractController::Base` and
`ActionController::Metal`, which checks `response.committed?`, besides
checking if `@_response_body` is set, if possible.
Example application: https://gist.github.com/jeffkreeftmeijer/78ae4572f36b198e729724b0cf79ef8e
Diffstat (limited to 'RAILS_VERSION')
0 files changed, 0 insertions, 0 deletions