簡體   English   中英

Rails_Admin用戶控件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM