diff options
6 files changed, 36 insertions, 36 deletions
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index bfa1576181..df72794c31 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -13,9 +13,9 @@ collection_check_boxes :post, :author_ids, Author.all, :id, :name # Outputs something like: <input id="post_author_ids_1" name="post[author_ids][]" type="checkbox" value="1" /> - <label class="collection_check_boxes" for="post_author_ids_1">D. Heinemeier Hansson</label> + <label for="post_author_ids_1">D. Heinemeier Hansson</label> <input id="post_author_ids_2" name="post[author_ids][]" type="checkbox" value="2" /> - <label class="collection_check_boxes" for="post_author_ids_2">D. Thomas</label> + <label for="post_author_ids_2">D. Thomas</label> <input name="post[author_ids][]" type="hidden" value="" /> The label/check_box pairs can be customized with a block. @@ -28,9 +28,9 @@ collection_radio_buttons :post, :author_id, Author.all, :id, :name # Outputs something like: <input id="post_author_id_1" name="post[author_id]" type="radio" value="1" /> - <label class="collection_radio_buttons" for="post_author_id_1">D. Heinemeier Hansson</label> + <label for="post_author_id_1">D. Heinemeier Hansson</label> <input id="post_author_id_2" name="post[author_id]" type="radio" value="2" /> - <label class="collection_radio_buttons" for="post_author_id_2">D. Thomas</label> + <label for="post_author_id_2">D. Thomas</label> The label/radio_button pairs can be customized with a block. diff --git a/actionpack/lib/action_view/helpers/form_options_helper.rb b/actionpack/lib/action_view/helpers/form_options_helper.rb index c5a738d99f..bc03a1cf83 100644 --- a/actionpack/lib/action_view/helpers/form_options_helper.rb +++ b/actionpack/lib/action_view/helpers/form_options_helper.rb @@ -550,11 +550,11 @@ module ActionView # # If <tt>@post.author_id</tt> is already <tt>1</tt>, this would return: # <input id="post_author_id_1" name="post[author_id]" type="radio" value="1" checked="checked" /> - # <label class="collection_radio_buttons" for="post_author_id_1">D. Heinemeier Hansson</label> + # <label for="post_author_id_1">D. Heinemeier Hansson</label> # <input id="post_author_id_2" name="post[author_id]" type="radio" value="2" /> - # <label class="collection_radio_buttons" for="post_author_id_2">D. Thomas</label> + # <label for="post_author_id_2">D. Thomas</label> # <input id="post_author_id_3" name="post[author_id]" type="radio" value="3" /> - # <label class="collection_radio_buttons" for="post_author_id_3">M. Clark</label> + # <label for="post_author_id_3">M. Clark</label> # # It is also possible to customize the way the elements will be shown by # giving a block to the method: @@ -570,14 +570,14 @@ module ActionView # # The builder methods <tt>label</tt> and <tt>radio_button</tt> also accept # extra html options: - # collection_check_boxes(:post, :author_ids, Author.all, :id, :name_with_initial) do |b| + # collection_radio_buttons(:post, :author_id, Author.all, :id, :name_with_initial) do |b| # b.label(:class => "radio_button") { b.radio_button(:class => "radio_button") } # end # # There are also two special methods available: <tt>text</tt> and # <tt>value</tt>, which are the current text and value methods for the # item being rendered, respectively. You can use them like this: - # collection_radio_buttons(:post, :author_ids, Author.all, :id, :name_with_initial) do |b| + # collection_radio_buttons(:post, :author_id, Author.all, :id, :name_with_initial) do |b| # b.label(:"data-value" => b.value) { b.radio_button + b.text } # end def collection_radio_buttons(object, method, collection, value_method, text_method, options = {}, html_options = {}, &block) @@ -612,11 +612,11 @@ module ActionView # # If <tt>@post.author_ids</tt> is already <tt>[1]</tt>, this would return: # <input id="post_author_ids_1" name="post[author_ids][]" type="checkbox" value="1" checked="checked" /> - # <label class="collection_check_boxes" for="post_author_ids_1">D. Heinemeier Hansson</label> + # <label for="post_author_ids_1">D. Heinemeier Hansson</label> # <input id="post_author_ids_2" name="post[author_ids][]" type="checkbox" value="2" /> - # <label class="collection_check_boxes" for="post_author_ids_2">D. Thomas</label> + # <label for="post_author_ids_2">D. Thomas</label> # <input id="post_author_ids_3" name="post[author_ids][]" type="checkbox" value="3" /> - # <label class="collection_check_boxes" for="post_author_ids_3">M. Clark</label> + # <label for="post_author_ids_3">M. Clark</label> # <input name="post[author_ids][]" type="hidden" value="" /> # # It is also possible to customize the way the elements will be shown by diff --git a/actionpack/lib/action_view/helpers/tags/collection_check_boxes.rb b/actionpack/lib/action_view/helpers/tags/collection_check_boxes.rb index 8f0f5c89fe..5f1e9ec026 100644 --- a/actionpack/lib/action_view/helpers/tags/collection_check_boxes.rb +++ b/actionpack/lib/action_view/helpers/tags/collection_check_boxes.rb @@ -21,7 +21,7 @@ module ActionView if block_given? yield builder else - builder.check_box + builder.label(:class => "collection_check_boxes") + builder.check_box + builder.label end end diff --git a/actionpack/lib/action_view/helpers/tags/collection_radio_buttons.rb b/actionpack/lib/action_view/helpers/tags/collection_radio_buttons.rb index d11f8632b9..8e7aeeed63 100644 --- a/actionpack/lib/action_view/helpers/tags/collection_radio_buttons.rb +++ b/actionpack/lib/action_view/helpers/tags/collection_radio_buttons.rb @@ -20,7 +20,7 @@ module ActionView if block_given? yield builder else - builder.radio_button + builder.label(:class => "collection_radio_buttons") + builder.radio_button + builder.label end end end diff --git a/actionpack/test/template/form_collections_helper_test.rb b/actionpack/test/template/form_collections_helper_test.rb index 41b6702c9d..a4aea8ca56 100644 --- a/actionpack/test/template/form_collections_helper_test.rb +++ b/actionpack/test/template/form_collections_helper_test.rb @@ -27,21 +27,21 @@ class FormCollectionsHelperTest < ActionView::TestCase test 'collection radio accepts a collection and generate inputs from label method' do with_collection_radio_buttons :user, :active, [true, false], :to_s, :to_s - assert_select 'label.collection_radio_buttons[for=user_active_true]', 'true' - assert_select 'label.collection_radio_buttons[for=user_active_false]', 'false' + assert_select 'label[for=user_active_true]', 'true' + assert_select 'label[for=user_active_false]', 'false' end test 'collection radio handles camelized collection values for labels correctly' do with_collection_radio_buttons :user, :active, ['Yes', 'No'], :to_s, :to_s - assert_select 'label.collection_radio_buttons[for=user_active_yes]', 'Yes' - assert_select 'label.collection_radio_buttons[for=user_active_no]', 'No' + assert_select 'label[for=user_active_yes]', 'Yes' + assert_select 'label[for=user_active_no]', 'No' end test 'colection radio should sanitize collection values for labels correctly' do with_collection_radio_buttons :user, :name, ['$0.99', '$1.99'], :to_s, :to_s - assert_select 'label.collection_radio_buttons[for=user_name_099]', '$0.99' - assert_select 'label.collection_radio_buttons[for=user_name_199]', '$1.99' + assert_select 'label[for=user_name_099]', '$0.99' + assert_select 'label[for=user_name_199]', '$1.99' end test 'collection radio accepts checked item' do @@ -132,8 +132,8 @@ class FormCollectionsHelperTest < ActionView::TestCase assert_select 'input#post_category_id_1[type=radio][value=1]' assert_select 'input#post_category_id_2[type=radio][value=2]' - assert_select 'label.collection_radio_buttons[for=post_category_id_1]', 'Category 1' - assert_select 'label.collection_radio_buttons[for=post_category_id_2]', 'Category 2' + assert_select 'label[for=post_category_id_1]', 'Category 1' + assert_select 'label[for=post_category_id_2]', 'Category 2' end # COLLECTION CHECK BOXES @@ -156,21 +156,21 @@ class FormCollectionsHelperTest < ActionView::TestCase collection = [Category.new(1, 'Category 1'), Category.new(2, 'Category 2')] with_collection_check_boxes :user, :category_ids, collection, :id, :name - assert_select 'label.collection_check_boxes[for=user_category_ids_1]', 'Category 1' - assert_select 'label.collection_check_boxes[for=user_category_ids_2]', 'Category 2' + assert_select 'label[for=user_category_ids_1]', 'Category 1' + assert_select 'label[for=user_category_ids_2]', 'Category 2' end test 'collection check boxes handles camelized collection values for labels correctly' do with_collection_check_boxes :user, :active, ['Yes', 'No'], :to_s, :to_s - assert_select 'label.collection_check_boxes[for=user_active_yes]', 'Yes' - assert_select 'label.collection_check_boxes[for=user_active_no]', 'No' + assert_select 'label[for=user_active_yes]', 'Yes' + assert_select 'label[for=user_active_no]', 'No' end test 'colection check box should sanitize collection values for labels correctly' do with_collection_check_boxes :user, :name, ['$0.99', '$1.99'], :to_s, :to_s - assert_select 'label.collection_check_boxes[for=user_name_099]', '$0.99' - assert_select 'label.collection_check_boxes[for=user_name_199]', '$1.99' + assert_select 'label[for=user_name_099]', '$0.99' + assert_select 'label[for=user_name_199]', '$1.99' end test 'collection check boxes accepts selected values as :checked option' do @@ -248,8 +248,8 @@ class FormCollectionsHelperTest < ActionView::TestCase assert_select 'input#post_category_ids_1[type=checkbox][value=1]' assert_select 'input#post_category_ids_2[type=checkbox][value=2]' - assert_select 'label.collection_check_boxes[for=post_category_ids_1]', 'Category 1' - assert_select 'label.collection_check_boxes[for=post_category_ids_2]', 'Category 2' + assert_select 'label[for=post_category_ids_1]', 'Category 1' + assert_select 'label[for=post_category_ids_2]', 'Category 2' end test 'collection check boxes does not wrap input inside the label' do diff --git a/railties/guides/source/action_view_overview.textile b/railties/guides/source/action_view_overview.textile index bc03dd7ff3..ac5c9fa4d8 100644 --- a/railties/guides/source/action_view_overview.textile +++ b/railties/guides/source/action_view_overview.textile @@ -1153,11 +1153,11 @@ If <tt>@post.author_id</tt> is 1, this would return: <html> <input id="post_author_id_1" name="post[author_id]" type="radio" value="1" checked="checked" /> -<label class="collection_radio_buttons" for="post_author_id_1">D. Heinemeier Hansson</label> +<label for="post_author_id_1">D. Heinemeier Hansson</label> <input id="post_author_id_2" name="post[author_id]" type="radio" value="2" /> -<label class="collection_radio_buttons" for="post_author_id_2">D. Thomas</label> +<label for="post_author_id_2">D. Thomas</label> <input id="post_author_id_3" name="post[author_id]" type="radio" value="3" /> -<label class="collection_radio_buttons" for="post_author_id_3">M. Clark</label> +<label for="post_author_id_3">M. Clark</label> </html> h5. collection_check_boxes @@ -1189,11 +1189,11 @@ If <tt>@post.author_ids</tt> is [1], this would return: <html> <input id="post_author_ids_1" name="post[author_ids][]" type="checkbox" value="1" checked="checked" /> -<label class="collection_check_boxes" for="post_author_ids_1">D. Heinemeier Hansson</label> +<label for="post_author_ids_1">D. Heinemeier Hansson</label> <input id="post_author_ids_2" name="post[author_ids][]" type="checkbox" value="2" /> -<label class="collection_check_boxes" for="post_author_ids_2">D. Thomas</label> +<label for="post_author_ids_2">D. Thomas</label> <input id="post_author_ids_3" name="post[author_ids][]" type="checkbox" value="3" /> -<label class="collection_check_boxes" for="post_author_ids_3">M. Clark</label> +<label for="post_author_ids_3">M. Clark</label> <input name="post[author_ids][]" type="hidden" value="" /> </html> |