aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorCheah Chu Yeow <chuyeow@gmail.com>2011-02-27 22:57:46 +0800
committerSantiago Pastorino <santiago@wyeworks.com>2011-03-02 13:11:07 -0200
commit2ee55557440a644453482a678e4ff08a4b5ebd3e (patch)
treed20cf2d49728bd79a7863d905bd3771ae1a2e65f /actionpack/lib/action_controller
parente4cf28f3a0491620787d8e06d3a47918c5accc9b (diff)
downloadrails-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.rb8
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