Merge pull request #21402 from k0kubun/ruby20-url-helper

Fix mail_to to work well with Ruby 2.0
This commit is contained in:
Rafael Mendonça França 2015-08-28 01:36:00 -03:00
parent fbba4ad7c8
commit e5ba382ccb
2 changed files with 8 additions and 1 deletions

View File

@ -471,7 +471,7 @@ module ActionView
}.compact
extras = extras.empty? ? '' : '?' + ERB::Util.html_escape(extras.join('&'))
encoded_email_address = ERB::Util.url_encode(email_address).gsub("%40", "@")
encoded_email_address = ERB::Util.url_encode(email_address.to_str).gsub("%40", "@")
html_options["href"] = "mailto:#{encoded_email_address}#{extras}".html_safe
content_tag(:a, name || email_address, html_options, &block)

View File

@ -505,6 +505,13 @@ class UrlHelperTest < ActiveSupport::TestCase
)
end
def test_mail_to_with_html_safe_string
assert_dom_equal(
%{<a href="mailto:david@loudthinking.com">david@loudthinking.com</a>},
mail_to("david@loudthinking.com".html_safe)
)
end
def test_mail_to_with_img
assert_dom_equal %{<a href="mailto:feedback@example.com"><img src="/feedback.png" /></a>},
mail_to('feedback@example.com', '<img src="/feedback.png" />'.html_safe)