diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-04-14 11:41:03 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-04-14 11:41:03 -0300 |
commit | d40d39214c565076add65b41434b3f95cc0c3b0d (patch) | |
tree | ea82c1bbbafc35731625845856cd8f7a46fb96db /actionview/lib | |
parent | 2e000ab23d187e425a1be1ce8ce43a0d4c6f5be7 (diff) | |
parent | 3964bbc490bdd858b431862bdefa58f477cb2028 (diff) | |
download | rails-d40d39214c565076add65b41434b3f95cc0c3b0d.tar.gz rails-d40d39214c565076add65b41434b3f95cc0c3b0d.tar.bz2 rails-d40d39214c565076add65b41434b3f95cc0c3b0d.zip |
Merge pull request #14736 from nashby/hidden-index
`collection_check_boxes` respects `:index` option for the hidden filed name
Diffstat (limited to 'actionview/lib')
-rw-r--r-- | actionview/lib/action_view/helpers/tags/collection_check_boxes.rb | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/actionview/lib/action_view/helpers/tags/collection_check_boxes.rb b/actionview/lib/action_view/helpers/tags/collection_check_boxes.rb index 8b28e4fc33..6242a2a085 100644 --- a/actionview/lib/action_view/helpers/tags/collection_check_boxes.rb +++ b/actionview/lib/action_view/helpers/tags/collection_check_boxes.rb @@ -28,10 +28,7 @@ module ActionView # Append a hidden field to make sure something will be sent back to the # server if all check boxes are unchecked. if @options.fetch(:include_hidden, true) - hidden_name = @html_options[:name] || "#{tag_name}[]" - hidden = @template_object.hidden_field_tag(hidden_name, "", :id => nil) - - rendered_collection + hidden + rendered_collection + hidden_field else rendered_collection end @@ -42,6 +39,18 @@ module ActionView def render_component(builder) builder.check_box + builder.label end + + def hidden_field + hidden_name = @html_options[:name] + + hidden_name ||= if @options.has_key?(:index) + "#{tag_name_with_index(@options[:index])}[]" + else + "#{tag_name}[]" + end + + @template_object.hidden_field_tag(hidden_name, "", id: nil) + end end end end |