3
我有一定的要求,其中視圖根據用戶類型具有不同的內容。可以說我有用戶控制器的索引操作。那麼我可以用康康舞授權這樣使用cancan正確的方式
authorize! :index, @users
作用進一步用於過濾我有一個像
if can :view_all,User
另一個授權另外像
if can :view_some,User
另一個授權將需要另外一個內容。
這會導致很多條件。相反,我可以使用簡單的條件,如
If the user is with view_all access show him all
else if the user is with view_some access show him some
else access denied
康康需要一個額外的查詢,不是嗎?我可能會以錯誤的方式使用康康。所以需要一些建議。
這裏是我的ability.rb文件
can :index, User do |user1|
role.accesses.include?(Access.where(:name => "access1").first) || role.accesses.include?(Access.where(:name => "access2").first)
end
can :view_all, User do |user1|
role.accesses.include?(Access.where(:name => "access1").first)
end
can :view_some, User do |user1|
role.accesses.include?(Access.where(:name => "access2").first)
end
你能告訴我們你的ability.rb ? – Dogbert
請標記您已回答的其他問題。 – Petrogad