aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/helpers/url_helper.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2015-09-05 10:59:28 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2015-09-05 10:59:46 -0700
commitf443ae670de9ce9bcb8c00adde08405d2cfd70db (patch)
treec6267ebc41a55e993ad19c5f66e00b5dc6c61a0a /actionview/lib/action_view/helpers/url_helper.rb
parentf2400de8013c4d9798e7f69c44b1c987e719a5a4 (diff)
downloadrails-f443ae670de9ce9bcb8c00adde08405d2cfd70db.tar.gz
rails-f443ae670de9ce9bcb8c00adde08405d2cfd70db.tar.bz2
rails-f443ae670de9ce9bcb8c00adde08405d2cfd70db.zip
Use ERB::Utils to percent encode `hfvalue` parts of mailto
`hfvalue` parts should always be percent encoded, so lets do that! Revert "use path escaping for email addresses" This reverts commit 21ffef38a5dc5a6a21f7e841aecab5b51f4fd185.
Diffstat (limited to 'actionview/lib/action_view/helpers/url_helper.rb')
-rw-r--r--actionview/lib/action_view/helpers/url_helper.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/actionview/lib/action_view/helpers/url_helper.rb b/actionview/lib/action_view/helpers/url_helper.rb
index 477d676e21..5684de35e8 100644
--- a/actionview/lib/action_view/helpers/url_helper.rb
+++ b/actionview/lib/action_view/helpers/url_helper.rb
@@ -464,11 +464,11 @@ module ActionView
extras = %w{ cc bcc body subject reply_to }.map! { |item|
option = html_options.delete(item).presence || next
- "#{item.dasherize}=#{Rack::Utils.escape_path(option)}"
+ "#{item.dasherize}=#{ERB::Util.url_encode(option)}"
}.compact
extras = extras.empty? ? '' : '?' + extras.join('&')
- encoded_email_address = Rack::Utils.escape_path(email_address)
+ encoded_email_address = ERB::Util.url_encode(email_address).gsub("%40", "@")
html_options["href"] = "mailto:#{encoded_email_address}#{extras}"
content_tag("a".freeze, name || email_address, html_options, &block)