Ruby on rails 无法更新表特定实例的状态,因为正在进行回滚
我有一个列状态为的表订阅。在我的订阅控制器中,我有一个方法Ruby on rails 无法更新表特定实例的状态,因为正在进行回滚,ruby-on-rails,ruby,methods,rollback,Ruby On Rails,Ruby,Methods,Rollback,我有一个列状态为的表订阅。在我的订阅控制器中,我有一个方法accept\u player,用于将订阅状态更新为“已确认!” 不幸的是,每次我尝试触发该方法时,似乎都会发生回滚: Started POST "/accept_player/39" for ::1 at 2015-07-08 22:01:21 +0100 ActiveRecord::SchemaMigration Load (12.4ms) SELECT "schema_migrations".* FROM "schema_mi
accept\u player
,用于将订阅状态更新为“已确认!”
不幸的是,每次我尝试触发该方法时,似乎都会发生回滚:
Started POST "/accept_player/39" for ::1 at 2015-07-08 22:01:21 +0100
ActiveRecord::SchemaMigration Load (12.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
/Users/davidgeismar/code/davidgeismar/tennis-match/app/controllers/subscriptions_controller.rb:141: warning: duplicated key at line 155 ignored: "CardType"
Processing by SubscriptionsController#accept_player as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"aas8OPHBpvPwNbbmx/SVipsRM+eKo63nuVilMroxKcU9HRVonjSqEuH7aLY91gFi9PHMUsUqRqk7qhnv2m4L/A==", "subscription_id_accept_player"=>"39", "commit"=>"Confirmer ce Joueur", "subscription_id"=>"39"}
User Load (13.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 2]]
Subscription Load (11.6ms) SELECT "subscriptions".* FROM "subscriptions" WHERE "subscriptions"."id" = $1 LIMIT 1 [["id", 39]]
(5.7ms) BEGIN
Subscription Exists (0.8ms) SELECT 1 AS one FROM "subscriptions" WHERE ("subscriptions"."user_id" = 20 AND "subscriptions"."id" != 39 AND "subscriptions"."tournament_id" = 9) LIMIT 1
(12.6ms) ROLLBACK
Tournament Load (2.4ms) SELECT "tournaments".* FROM "tournaments" WHERE "tournaments"."id" = $1 LIMIT 1 [["id", 9]]
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 2]]
Redirected to http://localhost:3000/tournaments/9/subscriptions
Completed 302 Found in 246ms (ActiveRecord: 79.7ms)
关于这里可能出现的问题有什么想法吗?以下代码:
authorize @subscription
可能是导致回滚的原因。如果您处于开发模式,只需将其注释掉,reload代码>,并尝试手动添加记录,查看是否是原因。此代码:
authorize @subscription
可能是导致回滚的原因。如果您处于开发模式,只需将其注释掉,reload
,并尝试手动添加记录,看看这是否是原因。授权订阅
来自pundit gem。我还认为这可能是导致回滚的原因。我照你说的做了,但回滚仍在进行。授权订阅
来自权威gem。我还认为这可能是导致回滚的原因。我照你说的做了,但是回退仍然发生。