[英]Rails_Admin user control
有什么辦法可以限制某些用戶只能在rails_admin中看到他們自己的內容?
基本上說在一個地理區域內有一群Scout領導者,我想有很多領導者,然后只允許他們看到他們創造的項目。
我需要為他們分配一個地理ID,然后將其添加到設計中嗎?
我通常使用CanCan來做到這一點。 您可以添加檢查,如果相關用戶是當前用戶。
rails admin( capability.rb )的CanCan配置示例,詳細示例請參閱CanCan上的rails_admin wiki :
class Ability
include CanCan::Ability
def initialize(user)
if user
can :access, :rails_admin
if user.role? :employee
can :read, [Model1, Model2, Model3]
can :update, User, :id => user.id #employee can update own user details
elsif user.role? :admin
can :manage, :all
end
end
end
end
要再次檢查角色,請在用戶模型中添加/更改以下內容
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :role
def role_enum
%w[admin employee]
end
def role?(role)
self.role == role.to_s
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.