我正在使用条带设置付款系统。我的信用卡模型在我的用户模型中显示条带错误时出现问题,因为第一张信用卡是作为用户的孩子提交的。此外,我正在为我的用户使用Devise。
class CreditCard < ActiveRecord::Base
def create_stripe_credit_card
customer = Stripe::Customer.retrieve(self.user.stripe_customer_id)
credit_card = customer.cards.create(:card => self.stripe_token)
rescue Stripe::CardError => e
logger.error "Stripe Error: " + e.message
errors.add(:base, "#{e.message}")
false
end
end
class RegistrationsController < Devise::RegistrationsController
def create
build_resource(sign_up_params)
if resource.save
# User created
else
clean_up_passwords resource
return render :status => 400, :json => resource.errors
end
end
end
经过一些谷歌搜索后,我遇到了这个问题
Ruby on Rails: how to get error messages from a child resource displayed?
但似乎我必须在我的CreditCard模型中放置一个验证器来触发我的User模型中的错误,并且因为提出此错误的唯一方法是尝试它,不知道如何将它放入验证
非常感谢任何帮助。