因此,我生成一个用户表,每行末尾都有一个提交按钮,这会正确显示所有用户及其数据。但是,提交按钮仅提交显示的最后一个用户的user_id。我认为这是因为提交按钮与f.submit绑定,并且在显示的用户表的所有迭代中f保持不变,因此只保留分配给f的最后一个值,我该如何解决这个问题? / p>
第二个问题如何为此添加复选框系统,以便我可以向已检查的所有用户提交邀请? (并因此在数据库中插入多行?)
<%= form_for @invite , :url => story_invites_path do |f| %>
<% @users = User.all %>
<table>
<% @users.each do |user| %>
<tr><td>
<%= user.id %>
</td><td>
<%= user.email %>
</td><td>
<%= user.name %>
</td><td>
<%= f.text_field :user_id, :value => user.id %>
<%= f.submit 'Send' %>
</td></tr>
<% end %>
</table>
<% end %>
答案 0 :(得分:0)
好吧,我刚刚弄清楚我的代码的第一个问题,我需要为迭代的每一行创建一个新表单,我称之为“f2”
<% @users.each do |user| %>
<%= form_for @invite , :url => story_invites_path do |f2| %>
<tr><td>
<%= user.id %>
</td><td>
<%= user.email %>
</td><td>
<%= user.name %>
</td><td>
<%= f2.text_field :user_id, :value => user.id %>
<%= f2.submit 'Send' %>
</td></tr>
<% end %>
<% end %>
我仍然没有得到第二部分