我有两个模型:Donor
和Gift
。我创建了has_many
和belongs_to
个关联。在我的DonorsController
课程中,我有 -
def new @donor = Donor.new gift = @ donor.gifts.build 端
这在DonorsController中定义 -
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
我想保存我在处理付款后从Stripe回来的charge.id
,我正在尝试使用它 -
@donor.gifts.stripe_charge_id = charge.id
(我也试过单数礼物 - 没有帮助)。
@donor.save
工作得很好 - 包括表单上和允许列表中的礼物字段 - 它们都会保存到数据库中。但stripe_charge_id
字段为空。我已确认有charge.id
值。
@donor.stripe_customer_id = customer.id
正在发挥作用。
我将cattr_accessor :stripe_charge_id
添加到Gift
模型。
我尝试过定义set / get方法,但没有任何工作。
任何帮助将不胜感激。我用google搜索的所有内容都只是在父母和家庭中进行了阐述。儿童协会,但我没有任何问题。
提前致谢。
答案 0 :(得分:0)
正如@fanta所说,你有一个has_many
的关系。所以你不能像那样设置stripe_charge_id
。即使你做得对,rails也不会因为你保存了父母而拯救孩子。
你可以这样做:
@donor.gifts.update_all(:stripe_charge_id => charge.id)