aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2008-02-18 00:42:06 +0000
committerMichael Koziarski <michael@koziarski.com>2008-02-18 00:42:06 +0000
commitdb4f421b0bfae226005591b1da90e4b42edf178d (patch)
tree5501b11f7959c6ea36eb1bf450e2d118ba06b0fe /actionpack/lib/action_controller
parent8bbabd43a9f9ac62e1f8e48981913d45ed485eb7 (diff)
downloadrails-db4f421b0bfae226005591b1da90e4b42edf178d.tar.gz
rails-db4f421b0bfae226005591b1da90e4b42edf178d.tar.bz2
rails-db4f421b0bfae226005591b1da90e4b42edf178d.zip
Add :trailing_slash option to UrlWriter. Closes #9117 [juanjo.bazan]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8892 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/url_rewriter.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/url_rewriter.rb b/actionpack/lib/action_controller/url_rewriter.rb
index d19e70fa1c..b24239b1e3 100644
--- a/actionpack/lib/action_controller/url_rewriter.rb
+++ b/actionpack/lib/action_controller/url_rewriter.rb
@@ -61,10 +61,11 @@ module ActionController
# Delete the unused options to prevent their appearance in the query string.
[:protocol, :host, :port, :skip_relative_url_root].each { |k| options.delete(k) }
end
-
+ trailing_slash = options.delete(:trailing_slash) if options.key?(:trailing_slash)
url << ActionController::AbstractRequest.relative_url_root.to_s unless options[:skip_relative_url_root]
anchor = "##{CGI.escape options.delete(:anchor).to_param.to_s}" if options[:anchor]
- url << Routing::Routes.generate(options, {})
+ generated = Routing::Routes.generate(options, {})
+ url << (trailing_slash ? generated.sub(/\?|\z/) { "/" + $& } : generated)
url << anchor if anchor
url