aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack')
-rwxr-xr-xactionpack/lib/action_controller/base.rb4
-rw-r--r--actionpack/test/controller/new_render_test.rb11
-rw-r--r--actionpack/test/fixtures/layouts/talk_from_action.rhtml2
-rw-r--r--actionpack/test/fixtures/test/action_talk_to_layout.rhtml2
4 files changed, 17 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 849b834cd1..bee72d90f2 100755
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -724,7 +724,7 @@ module ActionController #:nodoc:
#
# This method will overwrite an existing Cache-Control header.
# See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html for more possibilities.
- def expires_in(seconds, options = {})
+ def expires_in(seconds, options = {}) #:doc:
cache_options = { 'max-age' => seconds, 'private' => true }.symbolize_keys.merge!(options.symbolize_keys)
cache_options.delete_if { |k,v| v.nil? or v == false }
cache_control = cache_options.map{ |k,v| v == true ? k.to_s : "#{k.to_s}=#{v.to_s}"}
@@ -733,7 +733,7 @@ module ActionController #:nodoc:
# Sets a HTTP 1.1 Cache-Control header of "no-cache" so no caching should occur by the browser or
# intermediate caches (like caching proxy servers).
- def expires_now
+ def expires_now #:doc:
@response.headers["Cache-Control"] = "no-cache"
end
diff --git a/actionpack/test/controller/new_render_test.rb b/actionpack/test/controller/new_render_test.rb
index 105e5ec06d..8af594e94a 100644
--- a/actionpack/test/controller/new_render_test.rb
+++ b/actionpack/test/controller/new_render_test.rb
@@ -119,6 +119,10 @@ class NewRenderTestController < ActionController::Base
render :action => "potential_conflicts"
end
+ def action_talk_to_layout
+ # Action template sets variable that's picked up by layout
+ end
+
def rescue_action(e) raise end
private
@@ -133,6 +137,8 @@ class NewRenderTestController < ActionController::Base
"layouts/standard"
when "builder_layout_test"
"layouts/builder"
+ when "action_talk_to_layout"
+ "layouts/talk_from_action"
end
end
end
@@ -293,6 +299,11 @@ class NewRenderTest < Test::Unit::TestCase
assert_equal("First: David\nSecond: Stephan\nThird: David\nFourth: David\nFifth: ", @response.body)
end
+ def test_action_talk_to_layout
+ get :action_talk_to_layout
+ assert_equal "<title>Talking to the layout</title>\nAction was here!", @response.body
+ end
+
# def test_partials_list
# get :partials_list
# assert_equal "goodbyeHello: davidHello: marygoodbye\n", @response.body
diff --git a/actionpack/test/fixtures/layouts/talk_from_action.rhtml b/actionpack/test/fixtures/layouts/talk_from_action.rhtml
new file mode 100644
index 0000000000..215dfd27ac
--- /dev/null
+++ b/actionpack/test/fixtures/layouts/talk_from_action.rhtml
@@ -0,0 +1,2 @@
+<title><%= @title %></title>
+<%= @content_for_layout -%> \ No newline at end of file
diff --git a/actionpack/test/fixtures/test/action_talk_to_layout.rhtml b/actionpack/test/fixtures/test/action_talk_to_layout.rhtml
new file mode 100644
index 0000000000..36e896daa8
--- /dev/null
+++ b/actionpack/test/fixtures/test/action_talk_to_layout.rhtml
@@ -0,0 +1,2 @@
+<% @title = "Talking to the layout" -%>
+Action was here! \ No newline at end of file