use*_*344 4 ruby-on-rails ruby-on-rails-3
在我的新视图页面中,我有:
<% 10.times do %>
<%= render 'group_member_form' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
现在,这个表单包含字段:first_name,last_name,email_address和mobile_number.基本上我希望能够在一次单击中填写所有表单的字段,然后将每个表单作为唯一的行/ id提交到数据库中.
最简单的方法是什么?
注意:从变量调用do的次数.欢迎任何建议,谢谢!
jan*_*o-m 13
您应该只有一个表单(您应该只在group_member_form部分表中放置字段).在你看来,你应该有类似的东西:
<%= form_tag "/members" do %>
<% 10.times do %>
<%= render 'group_member_form' %>
<% end %>
<%= submit_tag "Submit" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
在_group_member_form.html.erb你应该有
<%= text_field_tag "members[][first_name]" %>
<%= text_field_tag "members[][last_name]" %>
<%= text_field_tag "members[][email_address]" %>
<%= text_field_tag "members[][mobile_number]" %>
Run Code Online (Sandbox Code Playgroud)
这样,当表单提交时,params[:members]在控制器中将是一个成员哈希数组.因此,例如,要在提交表单后从第四位成员获取电子邮件地址,请致电params[:members][3][:email_adress].
要理解为什么我这样写_group_member_form.html.erb,请看一眼:
http://guides.rubyonrails.org/form_helpers.html#understanding-parameter-naming-conventions.
| 归档时间: |
|
| 查看次数: |
6684 次 |
| 最近记录: |