我有一个生成篮球队表的脚手架。我想在表格中实现一个按钮,增加一支球队的胜利次数,增加另一支球队失利的次数。默认情况下,在控制器中,两者都设置为0。我应该在控制器或视图中实现一个方法(add_wins和add_losse(吗?如果是的话,会是什么样子?非常感谢。这是视图中表格正文的代码:
<tbody>
<% @teams.each do |team| %>
<tr>
<td><%= team.Name %></td>
<td><%= team.Color %></td>
<td><%= team.Players %></td>
<td><%= team.Wins %></td>
<td style="font-size: 20px"><%= button_to '+', method: :add_wins %></td> <!-- The method add_wins doesn't exist. -->
<td><%= team.Losses %></td>
<td style="font-size: 20px"><%= button_to '+',method: :add_losses %></td> <!-- The method add_losses doesn't exist. -->
<td><%= link_to 'Show', team %></td>
<td><%= link_to 'Edit', edit_team_path(team) %></td>
<td><%= link_to 'Delete', team, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
这不是一个完全复制粘贴的答案,但我会尝试解释基础知识,所以希望您可以自己找到整个解决方案。
首先,我建议您不要实现单独的add_wins
、add_losses
方法,如下所示:
- 干扰控制器过多
- 不要很好地处理连接问题/重新加载(假设您丢失了
0
,单击add
,呈现响应时出现问题,计数器已更新为1
,但用户返回到上一页,再次看到0
并再次单击add
,您最终会使用2
而不是1
相反,坚持使用具有适当参数的标准update
操作。
以下是button_to
的文档,您必须设置正确的method
和params
。您的params
需要包含输赢的下一个值和团队id。此外,您可能希望验证是否有人试图发送输赢的任意值。您要使用的method
是put
。