diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2014-08-06 10:48:52 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2014-08-06 10:48:52 -0300 |
commit | d5be08347fb7ff758572775ec93247a3ca886004 (patch) | |
tree | 0646d5473d3a5879e738f56ef6ded0ee5603ab0c /actionview | |
parent | a8192119840c62bf2a0e564817c172191711b4b2 (diff) | |
parent | 7a0c2ba48b0145e5031e51d316407ba28d769905 (diff) | |
download | rails-d5be08347fb7ff758572775ec93247a3ca886004.tar.gz rails-d5be08347fb7ff758572775ec93247a3ca886004.tar.bz2 rails-d5be08347fb7ff758572775ec93247a3ca886004.zip |
Merge pull request #16402 from bogdan/select_with_empty_block
Fixed #select form builder helper to support block without html output
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/lib/action_view/helpers/tags/select.rb | 2 | ||||
-rw-r--r-- | actionview/test/template/form_options_helper_test.rb | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/actionview/lib/action_view/helpers/tags/select.rb b/actionview/lib/action_view/helpers/tags/select.rb index 00881d9978..180900cc8d 100644 --- a/actionview/lib/action_view/helpers/tags/select.rb +++ b/actionview/lib/action_view/helpers/tags/select.rb @@ -3,7 +3,7 @@ module ActionView module Tags # :nodoc: class Select < Base # :nodoc: def initialize(object_name, method_name, template_object, choices, options, html_options) - @choices = block_given? ? template_object.capture { yield } : choices + @choices = block_given? ? template_object.capture { yield || "" } : choices @choices = @choices.to_a if @choices.is_a?(Range) @html_options = html_options diff --git a/actionview/test/template/form_options_helper_test.rb b/actionview/test/template/form_options_helper_test.rb index fbafb7aa08..d25fa3706f 100644 --- a/actionview/test/template/form_options_helper_test.rb +++ b/actionview/test/template/form_options_helper_test.rb @@ -591,6 +591,19 @@ class FormOptionsHelperTest < ActionView::TestCase ) end + def test_select_under_fields_for_with_block_without_options + @post = Post.new + + output_buffer = fields_for :post, @post do |f| + concat(f.select(:category) {}) + end + + assert_dom_equal( + "<select id=\"post_category\" name=\"post[category]\"></select>", + output_buffer + ) + end + def test_select_with_multiple_to_add_hidden_input output_buffer = select(:post, :category, "", {}, :multiple => true) assert_dom_equal( |