3
私のアプリは、product.sold属性が1の場合、アイテムが売却され、ストアビューに表示されないことを意味します。私は顧客が商品を購入したときにproduct.sold属性が更新されたことをチェックアウトするときにそれを取得しようとしています。ここで[13]のための未定義メソッド `assign_attributes ':配列
1にゼロからproduct.sold属性を更新する必要があり、私のコントローラ内のコードの行である:ここ
class ChargesController < ApplicationController
def create
@order.order_items.map{ |o| o.product.id }.assign_attributes(sold: 1)
end
は私の団体です。ここ
OrderItem belongs_to :product
OrderItem belongs_to :order
Product has_many :order_items
Order has_many :order_items
はエラーです私がid13の製品を購入しようとしているときに取得しています
NoMethodError in ChargesController#create
undefined method `assign_attributes' for [13]:Array
Extracted source (around line #12):
#OrderMailer.order_email(@order).deliver_now
@order.update_attribute(:order_status_id, 2)
@order.order_items.map{ |o| o.product.id }.assign_attributes(sold: 1)
@final_amount = @amount
assign_attributesの代わりにate_attributesとupdateを実行します。他に何を試すかわからないもっと情報が必要な場合はお知らせください。
このように、各アイテムに属性を設定しますか? –