aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-09-09 07:50:14 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-09-09 07:50:14 +0000
commitc8e0e10e28948bce93ea9f28524f917d9e0ea2da (patch)
tree06888bf6f026e04b46de624e87995b6a7d1527aa
parente3c02d8c66ae3df7a58ba7d76dfc464f26dcff67 (diff)
downloadrails-c8e0e10e28948bce93ea9f28524f917d9e0ea2da.tar.gz
rails-c8e0e10e28948bce93ea9f28524f917d9e0ea2da.tar.bz2
rails-c8e0e10e28948bce93ea9f28524f917d9e0ea2da.zip
Added documentation for overwrite_params #2146 [Michael Shuerig]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2162 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rwxr-xr-xactionpack/lib/action_controller/base.rb9
-rw-r--r--activesupport/lib/active_support/inflector.rb3
2 files changed, 10 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 0c229fda8d..f62a5502b4 100755
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -425,6 +425,15 @@ module ActionController #:nodoc:
#
# url_for :controller => 'posts', :action => nil
#
+ # If you explicitly want to create a URL that's almost the same as the current URL, you can do so using the
+ # :overwrite_params options. Say for your posts you have different views for showing and printing them.
+ # Then, in the show view, you get the URL for the print view like this
+ #
+ # url_for :overwrite_params => { :action => 'print' }
+ #
+ # This takes the current URL as is and only exchanges the action. In contrast, <tt>url_for :action => 'print'</tt>
+ # would have slashed-off the path components are the changed action.
+ #
# Instead of passing an options hash, you can also pass a method reference in the form of a symbol. Consider this example:
#
# class WeblogController < ActionController::Base
diff --git a/activesupport/lib/active_support/inflector.rb b/activesupport/lib/active_support/inflector.rb
index f5c92cf4d9..087c883b0b 100644
--- a/activesupport/lib/active_support/inflector.rb
+++ b/activesupport/lib/active_support/inflector.rb
@@ -134,8 +134,7 @@ module Inflector
end
def foreign_key(class_name, separate_class_name_and_id_with_underscore = true)
- Inflector.underscore(Inflector.demodulize(class_name)) +
- (separate_class_name_and_id_with_underscore ? "_id" : "id")
+ underscore(demodulize(class_name)) + (separate_class_name_and_id_with_underscore ? "_id" : "id")
end
def constantize(camel_cased_word)