如何在Rails中循环表单?

时间:2017-06-11 05:03:23

标签: ruby-on-rails forms

我正在尝试创建一个Rails应用程序,人们可以选择当天将赢得哪些运动队。我可以显示所有当天的游戏,我可以创建一个表单来挑选一个游戏的赢家,但我迄今无法将这两个游戏融合在一起以允许用户查看所有当天的列表#39;每个团队旁边都有一个单选按钮的游戏,并在每个游戏中进行选择,然后单击一个提交按钮。

到目前为止,我已尝试过以下几种变体。

<% @games.each do |game| %>

  <%= form_for @pick, url: {action: "index"} do |f| %>
    <p>
      <%= f.label(game.home)%>
      <%= f.radio_button(:winner, game.home) %>
      <%= f.label(game.away)%>
      <%= f.radio_button(:winner, game.away) %>
    <%= f.submit "Pick" %>
  </p>
  <% end %>

<% end %>

这就是我的目标:

Team A [X] vs. Team B [ ]
Team C [ ] vs. Team D [X]
Team E [ ] vs. Team F [X]

[Submit]

此外,有更好的方法使用gem或其他更直接的方法吗?

1 个答案:

答案 0 :(得分:1)

你不应该遍历表单。而是遍历字段

<%= form_for @pick, url: {action: "index"} do |f| %>
  <% @games.each do |game| %>
    <p>
      <%= f.label(game.home)%>
      <%= f.radio_button(:winner, game.home) %>
      <%= f.label(game.away)%>
      <%= f.radio_button(:winner, game.away) %>
    </p>
  <% end %>
  <%= f.submit "Pick" %>
<% end %>