我正在尝试用我拥有的两个集合创建多个记录
<%= 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>
Run Code Online (Sandbox Code Playgroud)
user = params[:user]
is_checked = params[:is_checked]
user.each do|a|
u = User.new
u.name = a
u.save
end
Run Code Online (Sandbox Code Playgroud)
在这里,我想知道如何保存is_checked值以及名称..
我得到了用户和is_checked的集合,但我只能循环一个..
请指导我如何使用这两个字段创建多个记录
谢谢
你可能想这样做:
视图:
<% 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 %>
Run Code Online (Sandbox Code Playgroud)
所以你会得到这样的东西:
"fields" => {
"1" => {"user" => "value of 1", "is_checked" => "for 1"},
"2" => {"user" => "value of 2", "is_checked" => "for 2"}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以在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
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!=)
| 归档时间: |
|
| 查看次数: |
3427 次 |
| 最近记录: |