mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
There is no need to be destructive with the passed-in options.
This fixes a bug that is caused by Resource/SingletonResource mangling resource options when using inline "multi"-resource declarations.
This commit is contained in:
@@ -879,9 +879,9 @@ module ActionDispatch
|
||||
|
||||
def initialize(entities, options = {})
|
||||
@name = entities.to_s
|
||||
@path = (options.delete(:path) || @name).to_s
|
||||
@controller = (options.delete(:controller) || @name).to_s
|
||||
@as = options.delete(:as)
|
||||
@path = (options[:path] || @name).to_s
|
||||
@controller = (options[:controller] || @name).to_s
|
||||
@as = options[:as]
|
||||
@options = options
|
||||
end
|
||||
|
||||
@@ -945,9 +945,9 @@ module ActionDispatch
|
||||
def initialize(entities, options)
|
||||
@as = nil
|
||||
@name = entities.to_s
|
||||
@path = (options.delete(:path) || @name).to_s
|
||||
@controller = (options.delete(:controller) || plural).to_s
|
||||
@as = options.delete(:as)
|
||||
@path = (options[:path] || @name).to_s
|
||||
@controller = (options[:controller] || plural).to_s
|
||||
@as = options[:as]
|
||||
@options = options
|
||||
end
|
||||
|
||||
|
||||
@@ -91,6 +91,15 @@ class ResourcesTest < ActionController::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_multiple_resources_with_options
|
||||
expected_options = {:controller => 'threads', :action => 'index'}
|
||||
|
||||
with_restful_routing :messages, :comments, expected_options.slice(:controller) do
|
||||
assert_recognizes(expected_options, :path => 'comments')
|
||||
assert_recognizes(expected_options, :path => 'messages')
|
||||
end
|
||||
end
|
||||
|
||||
def test_with_custom_conditions
|
||||
with_restful_routing :messages, :conditions => { :subdomain => 'app' } do
|
||||
assert @routes.recognize_path("/messages", :method => :get, :subdomain => 'app')
|
||||
|
||||
Reference in New Issue
Block a user