如何在一个购物车栏杆中创建多个订单4

时间:2015-06-01 18:32:36

标签: ruby-on-rails ruby ruby-on-rails-4

我已经建立了一个购物车,效果很好(感谢this tutorial)。现在我试图根据我的需要修改它。我想根据seller_id属性创建订单,以便购物者可以在购物车中看到来自不同卖家的多个订单,类似于eBay或Etsy:

enter image description here

这是我的order_items_controller:

class OrderItemsController < ApplicationController
  def create
    @order = current_order
    @order_item = @order.order_items.new(order_item_params)
    @order.seller_id = @order_item.seller_id
    @order.save
    session[:order_id] = @order.id
  end

这是我的application_controller:

def current_order
   if !session[:order_id].nil?
      Order.find(session[:order_id])
    else
      Order.new
    end

我认为将current_order的定义更改为:

def current_order
  Order.find_or_create_by(seller_id: :seller_id)
end 

会解决问题,但会产生重复的订单。我尝试过其他几种变体,都会产生错误。有人可以帮我吗?即使只是如何以不同的方式思考这个问题?

0 个答案:

没有答案