【发布时间】:2018-07-05 10:51:16
【问题描述】:
我已经使用模型和关联构建了一个电子商务网站。
在购物车模型(每个用户唯一)和产品模型(带有数量字段的各种产品)之间,我有一个 Line Item 模型,每次用户添加产品和所需数量时都会生成一条记录。然后,新生成的 Line Item 与特定于当前处于会话中的用户的 cart_ID 相关联。
我目前面临的问题是当用户尝试将更多现有产品添加到他们的购物车时。由于我的代码目前的立场,每次用户添加相同的产品时都会生成一个新的行项目,即使正在添加的产品已经具有先前生成的行项目。
如何修改我的表单代码以识别现有订单项是否包含正在添加的产品并更新该订单项数量,而不是创建新订单项。我猜它包含某种 IF 逻辑和对 Line Item 控制器的修改,但我是他们所说的菜鸟。
<%= form_for [@product, LineItem.new] do |f|%>
<%= f.label :quantity %>
<%= f.text_field :quantity, class:"form-control" %>
<%= f.submit 'Add' %>
<% end %>
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 associations model-associations