두 모델이 있습니다 : 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
ar 선물 - 도와주지 않았다).
@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'가 콜렉션이기 때문에'gifts.stripe_charge_id'를 지정할 수 없습니다. 모든 선물을 반복하여 'charge.id'를 할당해야합니다. 그것은 하나의 방법입니다. – fanta