mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -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:
parent
8f5c83bdea
commit
5a3bb880db
3 changed files with 17 additions and 0 deletions
|
@ -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!
|
||||
|
|
Loading…
Reference in a new issue