订单商品创建错误导轨4

时间:2015-06-04 19:37:19

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

我正在建立一个点对点市场的购物车,并且对我遇到的当前错误感到困惑,如果有人能解释为什么会出现这种错误,我会很高兴。

这就是我在应用程序控制器中的内容:

def current_cart
    if session[:cart_id]
      @current_cart ||= Cart.find(session[:cart_id])
    end
    if session[:cart_id].nil?
      @current_cart = Cart.create!
      session[:cart_id] = @current_cart.id
    end
    @current_cart
  end 

  def current_order 
     @item = Item.find(params[:id]) #here is where the problem lies, but I'm not sure why
     Order.find_or_create_by(seller_id: @item.user_id )
  end

这是我的OrderItems控制器:

def create
    @cart = current_cart
    @order = current_order
    @order_item = @order.order_items.new(order_item_params)
    @order.save
    session[:order_id] = @order.id
  end

 def order_item_params
    params.require(:order_item).permit(:quantity_requested, :item_id, :size_requested, :seller_id)
  end

这是我收到的错误:

ActiveRecord :: RecordNotFound(无法找到没有ID的项目):   app / controllers / application_controller.rb:29:在current_order' app/controllers/order_items_controller.rb:4:in创建'

我很困惑bc订单保存了正确的卖家ID但订单项目没有创建。任何人都可以指出我的错误在哪里或为什么我得到这个错误?该应用程序似乎能够从数据库中找到项目ID以创建订单,而不是订单项目。很困惑。

谢谢!

0 个答案:

没有答案