在使用 Stripe、Rails (3.2.8) 和 Ruby (1.9.2) 时,我遇到了一个未初始化的常量。
最初,我的销售模型使用以下内容(这可行!):
def charge_card
begin
save!
charge = Stripe::Charge.create(
amount: self.amount,
currency: "usd",
card: self.stripe_token,
description: self.email,
)
self.finish!
rescue Stripe::Error => e
self.update_attributes(error: e.message)
self.fail!
end
end
然后,我决定用来自 Stripe 的一些额外信息来更新该记录,所以我将其更改为以下内容:
def charge_card
begin
save!
charge = Stripe::Charge.create(
amount: self.amount,
currency: "usd",
card: self.stripe_token,
description: self.email,
)
self.update(
stripe_id: charge.id,
card_expiration: Date.new(charge.card.exp_year, Charge.card.exp_month, 1),
fee_amount: charge.fee
)
self.finish!
rescue Stripe::Error => e
self.update_attributes(error: e.message)
self.fail!
end
end
这导致以下结果:uninitialized constant Stripe::Error
我很想就如何正确更新记录获得一些帮助/指导。
谢谢!