From f71b075d6c29447d08193007936f6376779d7bff Mon Sep 17 00:00:00 2001 From: sanemat Date: Sun, 7 Jul 2013 23:14:34 +0900 Subject: Fix link_to with block and url_hash Use link_to with block and url_hash, expect block as name. But ignore block and use url_hash as name. 3-2-stable passes this test. 4-0-stable and master fail this. --- actionview/lib/action_view/helpers/url_helper.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'actionview/lib/action_view/helpers') diff --git a/actionview/lib/action_view/helpers/url_helper.rb b/actionview/lib/action_view/helpers/url_helper.rb index 19e5941971..bfd154abec 100644 --- a/actionview/lib/action_view/helpers/url_helper.rb +++ b/actionview/lib/action_view/helpers/url_helper.rb @@ -180,7 +180,11 @@ module ActionView url = url_for(options) html_options['href'] ||= url - content_tag(:a, name || url, html_options, &block) + if block_given? + content_tag(:a, capture(&block) || url, html_options) + else + content_tag(:a, name || url, html_options) + end end # Generates a form containing a single button that submits to the URL created -- cgit v1.2.3 From bcc30d8f2fc50ff096fd045cf9e507ce547a739d Mon Sep 17 00:00:00 2001 From: sanemat Date: Mon, 8 Jul 2013 00:35:14 +0900 Subject: Include block in a argument shift --- actionview/lib/action_view/helpers/url_helper.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'actionview/lib/action_view/helpers') diff --git a/actionview/lib/action_view/helpers/url_helper.rb b/actionview/lib/action_view/helpers/url_helper.rb index bfd154abec..daa9a393b3 100644 --- a/actionview/lib/action_view/helpers/url_helper.rb +++ b/actionview/lib/action_view/helpers/url_helper.rb @@ -172,7 +172,7 @@ module ActionView # link_to "Visit Other Site", "http://www.rubyonrails.org/", data: { confirm: "Are you sure?" } # # => Visit Other Site def link_to(name = nil, options = nil, html_options = nil, &block) - html_options, options = options, name if block_given? + html_options, options, name = options, name, block if block_given? options ||= {} html_options = convert_options_to_data_attributes(options, html_options) @@ -180,11 +180,7 @@ module ActionView url = url_for(options) html_options['href'] ||= url - if block_given? - content_tag(:a, capture(&block) || url, html_options) - else - content_tag(:a, name || url, html_options) - 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