mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fixed url rewriter confusion when the controller name was a substring of the controller_prefix
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@397 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
8d5d7161eb
commit
cb8a020ec9
3 changed files with 16 additions and 3 deletions
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Fixed url rewriter confusion when the controller name was a substring of the controller_prefix
|
||||
|
||||
* Added conditional layouts like <tt>layout "weblog_standard", :except => :rss</tt> #452 [Marcel Molina]
|
||||
|
||||
* Fixed that MemCacheStore wasn't included by default and added default MemCache object pointing to localhost #447 [Lucas Carlson]
|
||||
|
|
|
@ -88,10 +88,13 @@ module ActionController
|
|||
elsif action_prefix && !action_prefix.empty?
|
||||
path = path.sub(action_prefix, action_name(options, action_prefix))
|
||||
else
|
||||
path = path.sub(%r(#{@controller}/?), @controller + "/" + action_name(options)) # " ruby-mode
|
||||
path = path.sub(%r(#{@controller}/?$), @controller + "/" + action_name(options)) # " ruby-mode
|
||||
end
|
||||
else
|
||||
path = path.sub(@controller + "/" + (action_prefix || "") + @action + (action_suffix || ""), @controller + "/" + action_name(options, action_prefix))
|
||||
path = path.sub(
|
||||
@controller + "/" + (action_prefix || "") + @action + (action_suffix || ""),
|
||||
@controller + "/" + action_name(options, action_prefix)
|
||||
)
|
||||
end
|
||||
|
||||
if options[:controller_prefix] && !options[:controller]
|
||||
|
|
|
@ -191,7 +191,6 @@ class UrlTest < Test::Unit::TestCase
|
|||
assert_equal "http://www.singlefile.com/login/logout", @clean_url_with_same_action_and_controller_name.rewrite(:action => "logout")
|
||||
end
|
||||
|
||||
# FIXME
|
||||
def xtest_same_module_and_controller_and_action_names
|
||||
assert_equal "http://www.singlefile.com/login/login/logout", @clean_url_with_same_action_and_controller_and_module_name.rewrite(:action => "logout")
|
||||
end
|
||||
|
@ -408,4 +407,13 @@ class UrlTest < Test::Unit::TestCase
|
|||
assert_equal("http://example.com/controller/foo", url.rewrite(:action => 'foo'))
|
||||
end
|
||||
|
||||
def test_rewriting_on_similar_fragments
|
||||
url = ActionController::UrlRewriter.new(
|
||||
MockRequest.new(
|
||||
"http://", "example.com", 80, "/advertisements/advert/",
|
||||
{"controller"=>"advert", "action"=>"index"}
|
||||
), "advert", "index"
|
||||
)
|
||||
assert_equal("http://example.com/advertisements/advert/news", url.rewrite(:action => 'news'))
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue