尝试将自己指定为我的 Rails 应用程序的管理员用户。我执行了 devise wiki 指南中的选项 2,并成功地向我的用户表添加了一个管理列。我现在想知道如何真正将我的角色从 false 更改为 true。我应该简单地通过 IRB 来做吗?通过 Rails 控制台?或 rails db,通过 Postgres 环境?抱歉新问题。
到目前为止的步骤
1.生成迁移
rails generate migration add_admin_to_users admin:boolean
2 .editted 迁移然后运行 rake db:migrate
class AddAdminToUsers < ActiveRecord::Migration
def self.up
add_column :users, :admin, :boolean, :default => false
end
def self.down
remove_column :users, :admin
end
end
更新
我只是通过 Rails 控制台完成了这项工作。因为我已经通过用户界面创建了一个帐户,所以我可以像这样通过 Rails 控制台简单地设置 true 的 bool 值 -
2.0.0p353 :014 > User.connection
2.0.0p353 :014 > user = User.first
2.0.0p353 :014 > user.admin = true
2.0.0p353 :014 > user.save
请发表评论或更正任何问题。干杯:)
最佳答案
据我所知,irb
不可能做到这一点,除非您像 Rails 控制台那样加载了 Rails 环境。您可以通过多种方式(例如 SQL 查询)执行此操作,但我倾向于通过控制台执行此类操作,因为它会调用 ActiveRecord callbacks当模型发生变化时,例如 SQL 就不是这种情况。
关于ruby-on-rails - 设置设备管理员角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769296/