簡體   English   中英

將其他字段保存到Rails子模型

[英]Save additional fields to Rails child model

我有兩個模型: DonorGift 我創建了has_manybelongs_to關聯。 DonorsController類中,我有-

def new @donor = Donor.new禮物= @ 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正在運行。

我向Gift模型添加了cattr_accessor :stripe_charge_id

我嘗試定義set / get方法,但沒有任何效果。

任何幫助,將不勝感激。 我用Google搜索的所有內容都只是說明了父母與孩子的關聯,但是我對此沒有任何問題。

提前致謝。

正如@fanta所說,您具有has_many關系。 因此,您不能像這樣設置stripe_charge_id 即使您做對了,Rails也不會僅僅因為您保存了父母而保存了孩子。

您可以這樣做:

@donor.gifts.update_all(:stripe_charge_id => charge.id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM