mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Allow strings to be sent as collection to select.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
This commit is contained in:
parent
b6bac73b28
commit
eb021707f5
2 changed files with 24 additions and 0 deletions
|
@ -230,6 +230,8 @@ module ActionView
|
|||
#
|
||||
# NOTE: Only the option tags are returned, you have to wrap this call in a regular HTML select tag.
|
||||
def options_for_select(container, selected = nil)
|
||||
return container if String === container
|
||||
|
||||
container = container.to_a if Hash === container
|
||||
selected, disabled = extract_selected_and_disabled(selected)
|
||||
|
||||
|
|
|
@ -80,6 +80,14 @@ class FormOptionsHelperTest < ActionView::TestCase
|
|||
)
|
||||
end
|
||||
|
||||
def test_string_options_for_select
|
||||
options = "<option value=\"Denmark\">Denmark</option><option value=\"USA\">USA</option><option value=\"Sweden\">Sweden</option>"
|
||||
assert_dom_equal(
|
||||
options,
|
||||
options_for_select(options)
|
||||
)
|
||||
end
|
||||
|
||||
def test_array_options_for_select
|
||||
assert_dom_equal(
|
||||
"<option value=\"<Denmark>\"><Denmark></option>\n<option value=\"USA\">USA</option>\n<option value=\"Sweden\">Sweden</option>",
|
||||
|
@ -324,6 +332,20 @@ class FormOptionsHelperTest < ActionView::TestCase
|
|||
)
|
||||
end
|
||||
|
||||
def test_select_under_fields_for_with_string_and_given_prompt
|
||||
@post = Post.new
|
||||
options = "<option value=\"abe\">abe</option><option value=\"mus\">mus</option><option value=\"hest\">hest</option>"
|
||||
|
||||
fields_for :post, @post do |f|
|
||||
concat f.select(:category, options, :prompt => 'The prompt')
|
||||
end
|
||||
|
||||
assert_dom_equal(
|
||||
"<select id=\"post_category\" name=\"post[category]\"><option value=\"\">The prompt</option>\n#{options}</select>",
|
||||
output_buffer
|
||||
)
|
||||
end
|
||||
|
||||
def test_select_with_blank
|
||||
@post = Post.new
|
||||
@post.category = "<mus>"
|
||||
|
|
Loading…
Reference in a new issue