所以这是另一篇关于更新购物车数量的帖子!我能找到的任何一个似乎都已经过时了,所以如果这似乎是重复的,我深表歉意。
但是我正在关注 Agile Web Development with Rails 第 4 版一书,他们非常友好地将编辑数量作为“挑战”而不给出答案:D。现在,当我试图让它工作时,我遇到了麻烦。
在我的views/cart/show.html.erb中显示我有下表
<table>
<tr>
<th>Quantity</th>
<th>Product Name</th>
<th>Size</th>
<th>Price</th>
</tr>
<% @cart.line_items.each do |item| %>
<tr>
<td>
<%= form_for 'item', :url => {:controller => 'line_items', :action => 'update', id: item} do |f| %>
<div class="field">
<%= f.number_field :qty, :value => item.qty %>
<%= submit_tag "Update" %>
</div>
<% end %>
</td>
<td><%= item.product.name %></td>
<td><%= item.size %></td>
<td><%= number_to_currency(item.total_price) %></td>
</tr>
<% end %>
<tr>
<td colspan="3">Total Price</td>
<td><%= number_to_currency(@cart.total_price) %></td>
</tr>
</table>
然而,当我点击更新时,我得到
未知动作
找不到 LineItemsController 的操作“29”
或者
未知动作
找不到 LineItemsController 的操作“35”
即使我完全取出 id 字段。我可以处理控制器端的更新功能并使其正确更新 - 我想自己解决这个问题,但我无法弄清楚是什么可能会生成这些数字操作以及如何修复它。简而言之,是什么产生了这个错误,我该如何解决?这可能与我在购物车视图中有一个 line_item 表单有关吗?