aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichiel Sikkes <michiel.sikkes@gmail.com>2013-01-28 21:18:57 +0100
committerMichiel Sikkes <michiel.sikkes@gmail.com>2013-01-28 21:18:57 +0100
commitf7277d99bf76e947fd404ac316eafeb993cc5bcd (patch)
tree2be2c71b5b82bf3e693e8f676906da407f464d5a
parentc4bc360e4edcdf8b05e334582d4ab5bc41ed2abc (diff)
downloadrails-f7277d99bf76e947fd404ac316eafeb993cc5bcd.tar.gz
rails-f7277d99bf76e947fd404ac316eafeb993cc5bcd.tar.bz2
rails-f7277d99bf76e947fd404ac316eafeb993cc5bcd.zip
Make current_url? work with a HEAD method
ActionDispatch::Head was removed in favor of Rack::Head. But Rack::Head does not convert GET requests to HEAD requests so we need to do checking for HEAD requests ourselves.
-rw-r--r--actionpack/lib/action_view/helpers/url_helper.rb2
-rw-r--r--actionpack/test/template/url_helper_test.rb6
2 files changed, 7 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb
index bade121d44..5e20b557d8 100644
--- a/actionpack/lib/action_view/helpers/url_helper.rb
+++ b/actionpack/lib/action_view/helpers/url_helper.rb
@@ -514,7 +514,7 @@ module ActionView
"in a #request method"
end
- return false unless request.get?
+ return false unless request.get? || request.head?
url_string = url_for(options)
diff --git a/actionpack/test/template/url_helper_test.rb b/actionpack/test/template/url_helper_test.rb
index ba65349b6a..5d87c96605 100644
--- a/actionpack/test/template/url_helper_test.rb
+++ b/actionpack/test/template/url_helper_test.rb
@@ -437,6 +437,12 @@ class UrlHelperTest < ActiveSupport::TestCase
ActionDispatch::Request.new(env)
end
+ def test_current_page_with_http_head_method
+ @request = request_for_url("/", :method => :head)
+ assert current_page?(url_hash)
+ assert current_page?("http://www.example.com/")
+ end
+
def test_current_page_with_simple_url
@request = request_for_url("/")
assert current_page?(url_hash)