商品がすでにバスケットに存在するかどうかを評価する論理を書こうとしています。ユーザーが商品を追加したときに商品数量を1ずつ増やし、新しいレコードビットを作成するとうまくいきます)。バスケットアイテムを増やすRuby
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
です。
私は文字通り 'find_by'を試していました。 –