Fixed labels that have a bracketed name and an index [#68 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
This commit is contained in:
parent
96d9691e71
commit
c83f75812e
|
@ -471,6 +471,7 @@ module ActionView
|
||||||
options = options.stringify_keys
|
options = options.stringify_keys
|
||||||
name_and_id = options.dup
|
name_and_id = options.dup
|
||||||
add_default_name_and_id(name_and_id)
|
add_default_name_and_id(name_and_id)
|
||||||
|
options.delete("index")
|
||||||
options["for"] ||= name_and_id["id"]
|
options["for"] ||= name_and_id["id"]
|
||||||
content = (text.blank? ? nil : text.to_s) || method_name.humanize
|
content = (text.blank? ? nil : text.to_s) || method_name.humanize
|
||||||
label_tag(name_and_id["id"], content, options)
|
label_tag(name_and_id["id"], content, options)
|
||||||
|
|
|
@ -540,6 +540,18 @@ class FormHelperTest < ActionView::TestCase
|
||||||
_erbout
|
_erbout
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_fields_for_object_with_bracketed_name_and_index
|
||||||
|
_erbout = ''
|
||||||
|
fields_for("author[post]", @post, :index => 1) do |f|
|
||||||
|
_erbout.concat f.label(:title)
|
||||||
|
_erbout.concat f.text_field(:title)
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_dom_equal "<label for=\"author_post_1_title\">Title</label>" +
|
||||||
|
"<input name='author[post][1][title]' size='30' type='text' id='author_post_1_title' value='Hello World' />",
|
||||||
|
_erbout
|
||||||
|
end
|
||||||
|
|
||||||
def test_form_builder_does_not_have_form_for_method
|
def test_form_builder_does_not_have_form_for_method
|
||||||
assert ! ActionView::Helpers::FormBuilder.instance_methods.include?('form_for')
|
assert ! ActionView::Helpers::FormBuilder.instance_methods.include?('form_for')
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue