【发布时间】:2016-04-06 17:26:23
【问题描述】:
我正在尝试编写一些逻辑来评估一个项目是否已经存在于一个购物篮中,并且当用户添加产品时它是否将项目数量增加 1,如果没有创建新记录(创建新记录位运行良好)。
def create
@product = Product.find(params[:product_id])
@basket = current_basket
if @basket.items.exists?(product_id: @product.id)
current_basket.items.find(conditions: {:product_id => @product.id}).increment! :quantity
else
Item.create!(basket_id: @basket.id, product_id: @product.id, quantity: 1, price: @product.price)
end
redirect_to baskets_show_path
end
我得到的错误是SQLite3::SQLException: no such column: id.conditions: SELECT "items".* FROM "items" WHERE "items"."basket_id" = ? AND "id"."conditions" = '--- :product_id: 2 ' LIMIT 1
任何帮助将不胜感激。
【问题讨论】:
标签: sql ruby-on-rails ruby methods logic