私は2つのモデル:Donor
とGift
を持っています。私はhas_many
とbelongs_to
の関連付けを作成しました。私のDonorsController
クラスでは、私が持っている - これはDonorsControllerで定義されている追加のフィールドをRailsの子モデルに保存
デフ新しい @donor = Donor.new 贈り物= @ donor.gifts.build エンド -
def create
@donor = Donor.new(donation_params)
... etc....
end
private
def donation_params
params.require(:donor).permit(:first_name, :last_name, :address_1, :address_2, :city, :state, :zip, :email, :phone, gifts_attributes: [:amount, :frequency])
end
Iお支払いを処理した後に私がストライプから返却したcharge.id
を保存したいのですが、これで試してみます -
@donor.gifts.stripe_charge_id = charge.id
アルギフト - 助けなかった)。うまく
@donor.save
作品 - フォーム上や許可リストにあるギフトフィールドを含む - これらすべてがDBに保存されます。ただし、stripe_charge_id
フィールドは空白です。 charge.id
という値があることを確認しました。
@donor.stripe_customer_id = customer.id
が機能しています。
私はGift
モデルにcattr_accessor :stripe_charge_id
を追加しました。
set/getメソッドを定義しようとしましたが、何も機能していません。
ご協力いただければ幸いです。私が尋ねたすべてのものは、親の&の子どもの団体に限定されていますが、私はそれに問題はありません。
ありがとうございます。
@ donor.gifts.stripe_charge_id = charge.id。 'gifts'は' has_many'リレーションです。 'gifts.stripe_charge_id'は' gifts'がコレクションなので、割り当てることはできません。あなたはすべての贈り物を繰り返し、それらに 'charge.id'を割り当てる必要があります。それは一つの方法です。 – fanta