0

我正在開發一個Rails 4應用程序,我試圖想出一個解決方案。我想知道如何實現CanCan以允許用戶訪問某些數據。如客人只能查看內容的某些部分。擁有者可以完全訪問內容,協作者可以擁有部分訪問權限。CanCan基於多個視圖的訪問

我的應用程序由一個

User 
- Developer 
- Organization 

Developer 
- Has many apps on its own 
- Has many organizations as founder or collaborator 

Organization 
- Has many founders and collaborators 
- Has many apps 

我怎麼能限制這誰不登錄可以查看開發人員/組織/應用程序配置文件的某些方面的客人,創始人已經完全進入組織,應用的所有者擁有完全訪問權限,協作者有權訪問。這有意義嗎?

回答

2

cancan只能用於current_user方法。我不沒有,如果有自定義該

下面的代碼示例只能由業主引導您完成管理內容的方式

class Ability 
     include CanCan::Ability 

     def initialize(user) 
     user ||= User.new # guest user (not logged in) 
      if user.admin? 
       can :manage, :all 
      else 
       can :read, Content 
      end 

     if user 
      can :create, Content 
      can :manage, Content do |content| 
      content.try(:user) == user 
      end 
     end 
     end 
    end