如何创建一个迁移文件,该文件将创建一个角色为“admin”的用户?我写了以下内容:
rails g migration User
如何向该用户授予“admin”角色?
答案 0 :(得分:1)
迁移可能有两个功能:
一般来说,最好先将它们用于第一个,并尽量避免使用第二个(这可能会导致问题进入升级路径)。
您是否要求创建一个包含代表管理权限的列的用户表,或者您是否尝试将管理用户添加到现有用户表时,您的问题不明确。
如果您尝试创建用户表,则需要执行以下操作:
rails g model users is_administrator:boolean other_column:type
这些行中的某些内容将生成一个迁移(和匹配模型),允许创建用户,其中包含可被视为管理权限的列。
另一方面,如果您已有用户表,并且正在尝试添加区分管理员和非管理员的能力,那么您会更适合通过类似的东西:
rails g migration add_is_administrator_to_users is_administrator:boolean
最后,如果您询问如何将用户添加到表已存在的用户并且包含列" is_administrator" ,我建议您添加以下行到db / seeds.rb:
User.create( is_administrator: true, other_column: 'other value' )
然后在控制台中运行以下行
rake db:seed
如果这没有意义,我建议您阅读Active Record Migrations或(如果您选择使用第三种方法)Active Record Seeds。
答案 1 :(得分:0)
您可以在同一个表中添加用户和管理员,并添加一个名为“role”的列,该列将是boolean,它将决定当前用户是否为admin
rails g migration user role:boolean name
如果角色为假,则不是管理员。