2011-12-21 57 views
0

當我的應用中的用戶不是管理員用戶時,我只想讓他們看到他們擁有的字段。如何使用CanCan與Rails管理員來檢查所有權

有沒有這樣設置can :see或類似的東西在每場的基礎上,使其只顯示字段即用「能看到」,或者我應該叫can :oversee聲明,他們所看到的一切,而不是能力。

我想這是更容易只是檢查,如果用戶是管理員或不軌管理,所以在那裏的軌道組管理員只拉動當前用戶的記錄。

回答

3

隨着康康舞,你可以在這樣的對象檢查權限:

if can?(:read, order) 
    # do something! 
end 

if can?(:email, order) 
    # do something! 
end 

但是它只是指知名度對象級別。

在RailsAdmin,可以通過傳遞塊設置字段可見性,描述here

例如:

RailsAdmin.config do |config| 
    config.model Order do 
    list do 
     field :name 
     field :profit do 
     visible do 
      current_user.roles.include?(:admin) 
     end 
     end 
    end 
    end 
end 
相關問題