【发布时间】:2021-01-19 18:30:42
【问题描述】:
我正在尝试通过 Koudoku 使用我的用户模型购买计划,但我从 concer/subscription.rb 文件中收到一个错误,说明缺少方法。如何在收费时不存在“update_subscription”来修复此错误?引发错误的代码如下:
koudoku-2.0.0/app/concerns/koudoku/subscription.rb
# 使用条带更新包级别。
line #37: customer.update_subscription(:plan => self.plan.stripe_id, :prorate => Koudoku.prorate)
服务器开发日志
Started POST "/koudoku/enterprise_users/67ce5018-497c-43ae-af3f-55454y40a1a37f9/subscriptions" for 127.0.0.1 at 2020-10-04 15:51:40 -0400
Processing by Koudoku::SubscriptionsController#create as HTML
Parameters: {"authenticity_token"=>"CXIMMgr1LDTC5B54YcageAUz/U+ErdHnTHvDwY83co1Ob8U6no2H4434LjeiIMMXvEqWs9OZJROMYI8f6zfNhy8w==", "subscription"=>{"plan_id"=>"1", "credit_card_token"=>"tok_1HYdFA2xuZZdQdXfxf444yitL", "last_four"=>"undefined", "card_type"=>"undefined"}, "owner_id"=>"67ce5018-497c-43ae-af3f-5576780a1a37f9"}
EnterpriseUser Load (0.3ms) SELECT "enterprise_users".* FROM "enterprise_users" WHERE "enterprise_users"."id" = $1 ORDER BY "enterprise_users"."id" ASC LIMIT $2 [["id", 1], ["LIMIT", 1]]
EnterpriseUser Load (0.3ms) SELECT "enterprise_users".* FROM "enterprise_users" WHERE "enterprise_users"."id" = $1 LIMIT $2 [["id", 67], ["LIMIT", 1]]
EnterpriseUser Load (0.4ms) SELECT "enterprise_users".* FROM "enterprise_users" WHERE "enterprise_users"."slug" = $1 LIMIT $2 [["slug", "67ce5018-497c-43ae-af3f-55770a1a37f9"], ["LIMIT", 1]]
Subscription Load (0.2ms) SELECT "subscriptions".* FROM "subscriptions" WHERE "subscriptions"."enterprise_user_id" = $1 LIMIT $2 [["enterprise_user_id", 1], ["LIMIT", 1]]
(0.1ms) BEGIN
Plan Load (0.2ms) SELECT "plans".* FROM "plans" WHERE "plans"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
(0.3ms) ROLLBACK
Completed 500 Internal Server Error in 754ms (ActiveRecord: 1.9ms | Allocations: 17127)
NoMethodError (undefined method `update_subscription' for #<Stripe::Customer:0x00007f956444e9a0>
Did you mean? update_attributes):
【问题讨论】:
标签: ruby-on-rails ruby stripe-payments