私は製品を持っています。
私に注文があります。
私は間に予約をしています。最初のレールまたは初期化されないレール
私は予約から商品を予約するたびに、新しいの予約を保存します。
それはする必要があります
- それは、この製品から作られた最初だときに、新しい予約を保存します。
- 新しい予約は行いませんが、製品が既に予約されている場合は、古い予約を検索して上書きします。
- ご注文の製品がすでに予約されていて、変更が加えられていない場合は、データベーストランザクションは行われません。
def create
@order = current_order
@booking = @order.bookings.where(product_id: params[:product_id]).first_or_initialize
product = @booking.product
if @booking.new_record?
@booking.product_name = product.name
@booking.product_price = product.price
else
@booking.product_quantity = params[:product_quantity]
@booking.save
@order.sum_all_bookings
@order.save
end
動作しません。
def create
@booking = @order.bookings.find_by(product_id: params[:booking][:product_id])
if @booking
@booking.product_quantity = params[:booking][:product_quantity]
@booking.save
else
@booking = @order.bookings.new(booking_params)
@product = @booking.product
@booking.product_name = @product.name
@booking.product_price = @product.price
end
@order.save
end
どうやら私はparams[:booking][:product_id]
に似[:booking]
を追加することによって、のparamsをつかむために必要な:働いた後
。なぜ誰が知っていますか?
どういうわけか、パラメータが正しく機能していません。 –