diff options
author | Vijay Dev <vijaydev.cse@gmail.com> | 2013-08-17 21:49:16 +0530 |
---|---|---|
committer | Vijay Dev <vijaydev.cse@gmail.com> | 2013-08-17 21:49:16 +0530 |
commit | 9abe72c7600132aa964ca48c312ef981007ab8b1 (patch) | |
tree | 6062ada5e442186cf949df4b9a1502e84bbb0271 /actionpack/lib | |
parent | d73232c9c8933b9f3092d5d27b7ffab6ccc0422c (diff) | |
parent | ec8ef1e1055c4e1598da13f49d30261f07f4a9b4 (diff) | |
download | rails-9abe72c7600132aa964ca48c312ef981007ab8b1.tar.gz rails-9abe72c7600132aa964ca48c312ef981007ab8b1.tar.bz2 rails-9abe72c7600132aa964ca48c312ef981007ab8b1.zip |
Merge branch 'master' of github.com:rails/docrails
Conflicts:
actionview/README.rdoc
activerecord/lib/active_record/migration.rb
guides/source/development_dependencies_install.md
guides/source/getting_started.md
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/routing/route_set.rb | 24 |
2 files changed, 12 insertions, 14 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 1faecc850b..67d261db77 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -59,7 +59,7 @@ module ActionController # <input type="text" name="post[address]" value="hyacintvej"> # # A request stemming from a form holding these inputs will include <tt>{ "post" => { "name" => "david", "address" => "hyacintvej" } }</tt>. - # If the address input had been named <tt>post[address][street]</tt>, the params would have included + # If the address input had been named "post[address][street]", the params would have included # <tt>{ "post" => { "address" => { "street" => "hyacintvej" } } }</tt>. There's no limit to the depth of the nesting. # # == Sessions diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index 943fc15026..0e5dc1fc6c 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -514,12 +514,11 @@ module ActionDispatch @recall = recall.dup @set = set - normalize_recall! normalize_options! normalize_controller_action_id! use_relative_controller! normalize_controller! - normalize_action! + handle_nil_action! end def controller @@ -538,11 +537,6 @@ module ActionDispatch end end - # Set 'index' as default action for recall - def normalize_recall! - @recall[:action] ||= 'index' - end - def normalize_options! # If an explicit :controller was given, always make :action explicit # too, so that action expiry works as expected for things like @@ -558,8 +552,8 @@ module ActionDispatch options[:controller] = options[:controller].to_s end - if options.key?(:action) - options[:action] = (options[:action] || 'index').to_s + if options[:action] + options[:action] = options[:action].to_s end end @@ -569,6 +563,8 @@ module ActionDispatch # :controller, :action or :id is not found, don't pull any # more keys from the recall. def normalize_controller_action_id! + @recall[:action] ||= 'index' if current_controller + use_recall_for(:controller) or return use_recall_for(:action) or return use_recall_for(:id) @@ -590,11 +586,13 @@ module ActionDispatch @options[:controller] = controller.sub(%r{^/}, '') if controller end - # Move 'index' action from options to recall - def normalize_action! - if @options[:action] == 'index' - @recall[:action] = @options.delete(:action) + # This handles the case of action: nil being explicitly passed. + # It is identical to action: "index" + def handle_nil_action! + if options.has_key?(:action) && options[:action].nil? + options[:action] = 'index' end + recall[:action] = options.delete(:action) if options[:action] == 'index' end # Generates a path from routes, returns [path, params]. |