我是一名对后端缺乏了解的铁路新秀,并且很难学习它。我试图让产品,订单,购物车和订单项模型和控制器同步,以简化"简单的"电子商务应用。遇到以下问题,这是我的导师"导师"没有答案(或厌倦了我的问题)。
LineItemsController中的ActiveRecord :: RecordNotFound #create
无法找到没有ID的订单
提取的来源(第7行):
@cart = current_cart
@product = Product.find(params[:product_id])
@order = Order.find(session[:order_id])
line_item = @order.line_items.build(line_item_attributes)
我不确定哪个其他代码足以插入此处。请让我知道我还能提供什么。
我注意到这里的一些绅士喜欢像我这样的年轻愚蠢的新手抢购;如果那就是你,请等一下。
谢谢。
答案 0 :(得分:1)
通过Michael Hartl's excellent Rails tutorial会使你受益匪浅,这会让你在通过它时看起来像这样的问题变得微不足道。
但最重要的是:session[:order_id]
的值为nil
- 在调用LineItems的创建操作之前未定义它。因此,您的@order
变量未被行@order = Order.find(session[:order_id])
填充。但相信我,你会遇到比构建电子商务应用程序更复杂的问题,所以你真的应该给这个教程一个机会!
答案 1 :(得分:0)
我认为您需要使用params[:order_id]
代替session[:order_id]
。不是:order_id是从表单传入的吗?