2

我有一个生成篮球队表格的脚手架。我想在表格中实现一个按钮,增加一个团队的胜利次数和另一个失败次数。默认情况下,控制器中的两者都设置为 0。我应该在控制器或视图中实现方法(add_wins 和 add_losses)吗?如果是这样,它会是什么样子?谢谢你。这是视图中表格主体的代码:

<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 %>

4

1 回答 1

0

不是一个完全复制粘贴的答案,但我会尝试解释基础知识,所以希望你能自己找出整个解决方案。

首先,我建议您不要实现以下单独add_winsadd_losses方法:

  1. 让你的控制器太杂乱
  2. 不要很好地处理连接问题/重新加载(想想如果你有0损失,请单击add,呈现响应时出现问题,计数器已更新为1,但用户返回上一页,再次查看0并再次单击add,你最终会在2而不是1.

相反,坚持update使用适当参数的标准动作。

是 的文档button_to,您必须设置正确的methodparams。您params需要包含输或赢的下一个值和团队 ID。此外,您可能希望验证是否有人试图发送一些任意的输赢值。您将method要使用的是put.

于 2018-11-25T13:54:08.997 回答