Rails:使用可以查看所有用户的设备添加管理员角色
我需要使用设计为我的应用创建一个管理员角色。 我使用设计创建了基本身份validation。 我的应用程序中有一个设计用户模型,但现在我需要一个可以显示编辑并销毁所有用户的管理员。 我试过按照教程,但没有一个帮助。 我正在使用rails 3.0.10和ruby 1.9.2-p290。
您只需先创建migratioin来定义role.rb
rails g model role name:string
然后在role.rb
class Role has_one:user end
在用户模型中
class user belongs_to :role end
在DB中插入两个角色
1.admin 2.user
然后检查一下
if user.role.name == "admin" # can do all your logic else your logic end
确保将role_id:integer插入用户模型
试试吧…….
我有与您相似的要求,也不希望任何用户能够注册。 所有这些都将由管理员照顾。 她,我做了什么。
我添加了另一个名为Admin的设计模型
rails generate devise MODEL
禁用用户模型的“可注册”,以便用户无法自行单独播放
user.rb
class User < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :encryptable, :confirmable, :lockable, :registerable, :timeoutable and :omniauthable devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable # Setup accessible (or protected) attributes for your model attr_accessible :email, :password, :password_confirmation, :remember_me, :first_name, :last_name, :role, :admin # attr_accessible :title, :body end
使用此处的示例为用户启用CRUD: https : //gist.github.com/1056194
最后保护这样的用户控制器
users_controller.rb
# Add this before_filter :authenticate_admin!
希望这可以帮助。