mirror of
https://github.com/github/rails.git
synced 2026-01-30 16:58:15 -05:00
Update UrlWriter to accept :anchor parameter. Closes #6771.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6648 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Update UrlWriter to accept :anchor parameter. Closes #6771. [octopod]
|
||||
|
||||
* Added RecordTagHelper for using RecordIdentifier conventions on divs and other container elements [DHH]. Example:
|
||||
|
||||
<% div_for(post) do %> <div id="post_45" class="post">
|
||||
|
||||
@@ -51,7 +51,9 @@ module ActionController
|
||||
[:protocol, :host, :port].each { |k| options.delete k }
|
||||
end
|
||||
|
||||
anchor = "##{CGI.escape options.delete(:anchor).to_param.to_s}" if options.key?(:anchor)
|
||||
url << Routing::Routes.generate(options, {})
|
||||
url << anchor if anchor
|
||||
|
||||
return url
|
||||
end
|
||||
|
||||
@@ -36,6 +36,13 @@ class UrlRewriterTests < Test::Unit::TestCase
|
||||
@rewriter.rewrite(:user => "openid.aol.com/nextangler", :password => "one two?", :controller => 'c', :action => 'a', :id => 'i')
|
||||
)
|
||||
end
|
||||
|
||||
def test_anchor
|
||||
assert_equal(
|
||||
'http://test.host/c/a/i#anchor',
|
||||
@rewriter.rewrite(:controller => 'c', :action => 'a', :id => 'i', :anchor => 'anchor')
|
||||
)
|
||||
end
|
||||
|
||||
def test_overwrite_params
|
||||
@params[:controller] = 'hi'
|
||||
@@ -77,6 +84,12 @@ class UrlWriterTests < Test::Unit::TestCase
|
||||
W.new.url_for :controller => 'c', :action => 'a', :id => 'i'
|
||||
end
|
||||
end
|
||||
|
||||
def test_anchor
|
||||
assert_equal('/c/a#anchor',
|
||||
W.new.url_for(:only_path => true, :controller => 'c', :action => 'a', :anchor => 'anchor')
|
||||
)
|
||||
end
|
||||
|
||||
def test_default_host
|
||||
add_host!
|
||||
|
||||
Reference in New Issue
Block a user