aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-02-17 15:34:32 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-02-17 15:34:32 +0000
commit761b18a564182f84b914b8510d092d4311423d7d (patch)
tree97d15fd0e8ff7a5e0b815c382b062acb20165c69
parent3e4064e9f2ce85697474aab03e27e69bf763e740 (diff)
downloadrails-761b18a564182f84b914b8510d092d4311423d7d.tar.gz
rails-761b18a564182f84b914b8510d092d4311423d7d.tar.bz2
rails-761b18a564182f84b914b8510d092d4311423d7d.zip
Added current_page?(options) method to check if the url_for options passed corresponds to the current page
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@645 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--actionpack/lib/action_view/helpers/url_helper.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb
index b2c6311c5a..8ba3df379b 100644
--- a/actionpack/lib/action_view/helpers/url_helper.rb
+++ b/actionpack/lib/action_view/helpers/url_helper.rb
@@ -78,7 +78,7 @@ module ActionView
# given block is yielded, if one exists). This is useful for creating link bars where you don't want to link
# to the page currently being viewed.
def link_to_unless_current(name, options = {}, html_options = {}, *parameters_for_method_reference)
- if url_for(options) == @request.request_uri
+ if current_page?(options)
block_given? ?
yield(name, options, html_options, *parameters_for_method_reference) :
html_escape(name)
@@ -120,6 +120,11 @@ module ActionView
end
end
+ # Returns true if the current page uri is generated by the options passed (in url_for format).
+ def current_page?(options)
+ url_for(options) == @request.request_uri
+ end
+
private
def convert_confirm_option_to_javascript!(html_options)
if html_options.include?(:confirm)