我制作了一个购物车,每个产品都有一个删除链接,点击后会生成以下消息:
路由错误没有路由匹配[GET]" / order_items / 8"
每个链接生成的错误之间的唯一变化是order_item id。
代码如下:
<%= link_to "Delete", order_item, { data: { confirm: "Are you sure you wish to delete the product '#{order_item.product.name}' from your cart?" }, method: :delete, remote: true, class: "btn btn-danger" } %>
这是生成的链接:
<a data-confirm="Are you sure you wish to delete the product 'Name' from your cart?" class="btn btn-danger" data-remote="true" rel="nofollow" data-method="delete" href="/order_items/8">Delete</a>
这是路径文件中的相关数据:
resources :order_items, only: [:create, :update, :destroy]
单击时,会弹出警报,但日志显示:
删除http://localhost:3000/order_items/11 422(不可处理的实体)
我对代码的工作缺少什么。
答案 0 :(得分:1)
我能够通过在布局的头部添加以下行来解决此问题:
<%= csrf_meta_tags %>
答案 1 :(得分:0)
替代方案可能是为[:delete, order_item]
换取order_item
。
如:
<%= link_to "Delete", [:delete, order_item], { data: { confirm: "Are you sure you wish to delete the product '#{order_item.product.name}' from your cart?" }, remote: true, class: "btn btn-danger" } %>