From e2f5f01675f3c575e820532ab7cce6fe068ecb28 Mon Sep 17 00:00:00 2001 From: Carlos Antonio da Silva Date: Thu, 31 May 2012 09:18:14 -0300 Subject: Simplify link_to using content_tag Add some tests for link_to with blocks and escaping content. --- actionpack/lib/action_view/helpers/url_helper.rb | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'actionpack/lib/action_view/helpers/url_helper.rb') diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb index 4b8106f465..7f5b3c8a0f 100644 --- a/actionpack/lib/action_view/helpers/url_helper.rb +++ b/actionpack/lib/action_view/helpers/url_helper.rb @@ -234,20 +234,14 @@ module ActionView # link_to("Destroy", "http://www.example.com", :method => :delete, :confirm => "Are you sure?") # # => Destroy def link_to(name = nil, options = nil, html_options = nil, &block) - if block_given? - html_options, options = options, name - link_to(capture(&block), options, html_options) - else - options ||= {} - html_options = convert_options_to_data_attributes(options, html_options) + html_options, options = options, name if block_given? + options ||= {} + url = url_for(options) - url = url_for(options) - href = html_options['href'] - tag_options = tag_options(html_options) + html_options = convert_options_to_data_attributes(options, html_options) + html_options['href'] ||= url - href_attr = "href=\"#{ERB::Util.html_escape(url)}\"" unless href - "#{ERB::Util.html_escape(name || url)}".html_safe - end + content_tag(:a, name || url, html_options, &block) end # Generates a form containing a single button that submits to the URL created -- cgit v1.2.3