我正在尝试用两个我有
的集合创建多个记录<%= text_field_tag "user[]",'', :class=>"user_name" %>
<%= radio_button_tag "is_checked[]", '1',false %><br>
<%= text_field_tag "user[]",'', :class=>"user_name" %>
<%= radio_button_tag "is_checked[]", '1',false %><br>
user = params[:user]
is_checked = params[:is_checked]
user.each do|a|
u = User.new
u.name = a
u.save
end
在这里,我想知道如何将is_checked值与名称一起保存..
我获得了用户和is_checked的集合,但我只能循环一个..
请指导我如何使用两个字段创建多个记录
感谢
答案 0 :(得分:6)
您可能希望这样做:
查看:
<% 1.upto(2) do |i| %>
<%= text_field_tag "fields[#{i}][user]",'', :class => "user_name" %>
<%= radio_button_tag "fields[#{i}][is_checked]", '1', false %><br>
<% end %>
所以你会得到这样的东西:
"fields" => {
"1" => {"user" => "value of 1", "is_checked" => "for 1"},
"2" => {"user" => "value of 2", "is_checked" => "for 2"}
}
然后你可以在Controller中执行此操作:
params[:fields].each do |i, values| do
# where i is the i-th set
# and values are the user inputs
u = User.create(values)
end
希望这有帮助! =)