我正在使用条纹处理我的第一个项目。我有一个订阅产品,我有基本的条带功能工作,但我需要更新我的用户在数据库中的记录为“订阅”,以便我可以在开发后使用它作为验证。我在网上看到了几个教程,这些教程在你的模型中添加一个名为subscribed的列,或者沿着这些行添加一些列,并在条带化客户创建过程中更新它。我有这个工作,除了它没有更新我的用户模型(在这种情况下,供应商)。这是我的条带处理控制器:
class ChargesController < ApplicationController
before_filter :authenticate_supplier!
def new
end
def create
# Amount in cents
token = params[:stripeToken]
customer = Stripe::Customer.create(
:source => token, # obtained from Stripe.js
:plan => "Free_month_annual",
:email => current_supplier.email,
#:coupon => "coupon_ID"
)
current_supplier.subscribed = true
#current_supplier.stripe_id = token
redirect_to orders_path
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to charges_path
end
end
正如您所看到的,有两件事情已被注释掉 - 优惠券,我打算稍后再处理,stripe_id
更新,因为我因为已经使用了token
而遇到了错误(不能两次使用)。我更新了我的供应商模型,数据库中有一个适当的列,params已更新为允许supplier.subscribed
。我相信这对许多人来说都是一个快速的答案,但我需要帮助发现我的问题。
修改 subscribed是一个布尔字段 - fyi
答案 0 :(得分:1)
您似乎忘了保存current_supplier
记录。
解决方案应该是添加如下内容:
current_supplier.subscribed = true
#current_supplier.stripe_id = token
current_supplier.save!
redirect_to orders_path