通过Rails控制台在Rails中将用户分配为管理员

时间:2018-06-20 17:59:18

标签: ruby-on-rails ruby ruby-on-rails-5

我正在尝试将父级分配为超级管理员。当我运行命令parent.toggle!(superadmin)时,它没有将父项分配为superadmin。

我无法找到错误

irb(main):004:0> parent.toggle!(:superadmin)
   (0.2ms)  begin transaction
  Parent Update (0.6ms)  UPDATE "parents" SET "updated_at" = ?, "superadmin" = ? WHERE "parents"."id" = ?  [["updated_at", "2018-06-20 17:50:31.273816"], ["superadmin", 1], ["id", 1]]
  Parent Update (0.2ms)  UPDATE "parents" SET "updated_at" = ?, "superadmin" = ? WHERE "parents"."id" = ?  [["updated_at", "2018-06-20 17:50:31.280343"], ["superadmin", 0], ["id", 1]]
   (1.8ms)  commit transaction
=> true

1 个答案:

答案 0 :(得分:0)

似乎事务已完成,请记住,切换未分配true,反之则将false更改为true,具体取决于它具有的当前值。

在您发送的示例中,它首先更改为true,然后再次更改为false。您正在正确地谈论代码。但是也许有一个回调,在保存之前将其值再次更改为false。检查模型是否有回调或对此是否有规则。