aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-04-05 12:53:26 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-04-05 12:53:26 -0700
commitdbe25910faabedfeae3e1f284cbfb6af746201c6 (patch)
tree21873c3e66e6b40a4855e510b47c0df1f1a965d3 /actionpack/lib
parentfe588537654adc583d54157b1a5db48786452adf (diff)
parent44a9aedd7b8d65517b15bbbb7729f3f16991e23f (diff)
downloadrails-dbe25910faabedfeae3e1f284cbfb6af746201c6.tar.gz
rails-dbe25910faabedfeae3e1f284cbfb6af746201c6.tar.bz2
rails-dbe25910faabedfeae3e1f284cbfb6af746201c6.zip
Merge pull request #10105 from rmm5t/fix-explicit-name-on-multiple-fields
Fix explicit names on multiple file fields
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_view/helpers/form_helper.rb15
1 files changed, 7 insertions, 8 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb
index 920dc3f794..0c079256a3 100644
--- a/actionpack/lib/action_view/helpers/form_helper.rb
+++ b/actionpack/lib/action_view/helpers/form_helper.rb
@@ -1196,27 +1196,26 @@ module ActionView
def add_default_name_and_id(options)
if options.has_key?("index")
- options["name"] ||= tag_name_with_index(options["index"])
+ options["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"] ||= tag_name_with_index(@auto_index)
+ options["name"] ||= tag_name_with_index(@auto_index, options["multiple"])
options["id"] = options.fetch("id"){ tag_id_with_index(@auto_index) }
else
- options["name"] ||= tag_name
+ options["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