diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-04-05 12:37:11 -0700 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-04-05 12:37:11 -0700 |
commit | 3d961abf53acdf43c4aaf67c721ad834fc7093e9 (patch) | |
tree | e839649edb175e2da4ca3ac1e8fcc980e16c0978 /actionpack/lib | |
parent | d25e0c6f6a2764fb2605dc216e5c4b26a74f7e97 (diff) | |
parent | 48dc5192eff45fce5ce39c41cdc3188be97ca614 (diff) | |
download | rails-3d961abf53acdf43c4aaf67c721ad834fc7093e9.tar.gz rails-3d961abf53acdf43c4aaf67c721ad834fc7093e9.tar.bz2 rails-3d961abf53acdf43c4aaf67c721ad834fc7093e9.zip |
Merge pull request #10106 from rmm5t/fix-explicit-name-on-multiple-fields-master
Fix explicit names on multiple file fields
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_view/helpers/tags/base.rb | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/actionpack/lib/action_view/helpers/tags/base.rb b/actionpack/lib/action_view/helpers/tags/base.rb index aef1572290..10dec66b4f 100644 --- a/actionpack/lib/action_view/helpers/tags/base.rb +++ b/actionpack/lib/action_view/helpers/tags/base.rb @@ -73,27 +73,26 @@ module ActionView def add_default_name_and_id(options) if options.has_key?("index") - options["name"] ||= options.fetch("name"){ tag_name_with_index(options["index"]) } + options["name"] ||= options.fetch("name"){ tag_name_with_index(options["index"], options["multiple"]) } options["id"] = options.fetch("id"){ tag_id_with_index(options["index"]) } options.delete("index") elsif defined?(@auto_index) - options["name"] ||= options.fetch("name"){ tag_name_with_index(@auto_index) } + options["name"] ||= options.fetch("name"){ tag_name_with_index(@auto_index, options["multiple"]) } options["id"] = options.fetch("id"){ tag_id_with_index(@auto_index) } else - options["name"] ||= options.fetch("name"){ tag_name } + options["name"] ||= options.fetch("name"){ tag_name(options["multiple"]) } options["id"] = options.fetch("id"){ tag_id } end - options["name"] += "[]" if options["multiple"] && !options["name"].ends_with?("[]") options["id"] = [options.delete('namespace'), options["id"]].compact.join("_").presence end - def tag_name - "#{@object_name}[#{sanitized_method_name}]" + def tag_name(multiple = false) + "#{@object_name}[#{sanitized_method_name}]#{"[]" if multiple}" end - def tag_name_with_index(index) - "#{@object_name}[#{index}][#{sanitized_method_name}]" + def tag_name_with_index(index, multiple = false) + "#{@object_name}[#{index}][#{sanitized_method_name}]#{"[]" if multiple}" end def tag_id |