diff options
author | Cheah Chu Yeow <chuyeow@gmail.com> | 2011-02-27 22:57:46 +0800 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2011-03-02 13:11:07 -0200 |
commit | 2ee55557440a644453482a678e4ff08a4b5ebd3e (patch) | |
tree | d20cf2d49728bd79a7863d905bd3771ae1a2e65f /actionpack/lib/action_controller | |
parent | e4cf28f3a0491620787d8e06d3a47918c5accc9b (diff) | |
download | rails-2ee55557440a644453482a678e4ff08a4b5ebd3e.tar.gz rails-2ee55557440a644453482a678e4ff08a4b5ebd3e.tar.bz2 rails-2ee55557440a644453482a678e4ff08a4b5ebd3e.zip |
Fix Action caching bug where an action that has a non-cacheable response always renders a nil response body. It now correctly renders the response body.
Note that only GET and HTTP 200 responses can be cached.
[#6480 state:committed]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/caching/actions.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/caching/actions.rb b/actionpack/lib/action_controller/caching/actions.rb index a4bac3caed..a1c582560c 100644 --- a/actionpack/lib/action_controller/caching/actions.rb +++ b/actionpack/lib/action_controller/caching/actions.rb @@ -103,12 +103,14 @@ module ActionController #:nodoc: end def _save_fragment(name, options) - return unless caching_allowed? - content = response_body content = content.join if content.is_a?(Array) - write_fragment(name, content, options) + if caching_allowed? + write_fragment(name, content, options) + else + content + end end protected |