我在应用程序控制器中设置了current_order
,如下所示:
def current_order
if user_signed_in?
current_order = Order.where(customer_id: current_user.id, status: :open).first_or_initialize(status: :open)
else
current_order = Order.where(customer_id: guest_user.id).first_or_initialize(status: :open)
end
end
我遇到的问题是,第一次向order_item
添加order
时,订单的id
仍未定义。
当我第一次order_item
时,如何确保AJAX正常工作?
答案 0 :(得分:1)
如果您需要Order.id
,必须先保存订单。您可以使用first_or_initialize
first_or_create
def current_order
if user_signed_in?
Order.where(customer_id: current_user.id, status: :open).first_or_create
else
Order.where(customer_id: guest_user.id, status: :open).first_or_create
end
end