1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Added documentation for overwrite_params #2146 [Michael Shuerig]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2162 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2005-09-09 07:50:14 +00:00
parent e3c02d8c66
commit c8e0e10e28
2 changed files with 10 additions and 2 deletions

View file

@ -425,6 +425,15 @@ module ActionController #:nodoc:
# #
# url_for :controller => 'posts', :action => nil # 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: # 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 # class WeblogController < ActionController::Base

View file

@ -134,8 +134,7 @@ module Inflector
end end
def foreign_key(class_name, separate_class_name_and_id_with_underscore = true) def foreign_key(class_name, separate_class_name_and_id_with_underscore = true)
Inflector.underscore(Inflector.demodulize(class_name)) + underscore(demodulize(class_name)) + (separate_class_name_and_id_with_underscore ? "_id" : "id")
(separate_class_name_and_id_with_underscore ? "_id" : "id")
end end
def constantize(camel_cased_word) def constantize(camel_cased_word)