如何让我的用户控制器中的销毁操作正常工作?

时间:2012-07-15 19:52:06

标签: ruby-on-rails

我正在使用Stripe,我想确保当用户在我的网站上删除他或她的帐户时,会自动从Stripe中删除用户的信息和订阅。现在,在我的用户控制器中,我有以下代码用于销毁操作:

 def destroy
    User.find(params[:id]).destroy
    flash[:success] = "Your account has been deleted."
    redirect_to root_path
  end

在Stripe的网站上,他们有以下代码来删除订阅订阅的客户:

cu = Stripe::Customer.retrieve("cus_IzJx2FQ7r13IOk")
cu.delete

我想要做的是将该代码放在我的rails应用程序中的destroy操作中。我不确定如何从Stripe中正确检索与即将删除的客户ID相关的客户ID。我的客户的Stripe id设置为stripe_customer_token,stripe_customer_token的值存储在我的数据库中。你可以给我设置这个功能的任何帮助都很棒!

1 个答案:

答案 0 :(得分:0)

您可以先删除Stripe关联,而不是直接销毁用户实例,如下所示。

def destroy
  @user = User.find(params[:id])
  cu = Stripe::Customer.retrieve(@user.stripe_customer_token)
  cu.delete
  @user.destroy
  flash[:success] = "Your account has been deleted."
  redirect_to root_path
end