2014-01-23 45 views
0

我正在爲我的應用程序實現用戶建模。只有當前用戶可以更新並摧毀他的賬戶,我把在用戶控制:管理員可以做一切[導軌4]

before_action :correct_user, only: [:edit, :update, :destroy] 

但是現在我還想要一個管理員可以做這些操作(以及他其實可以做的一切)

我建議在助手admin_user創建另一個功能以允許他訪問所有的操作,然後把它在用戶控制器,如:

before_action :admin_user 

但看起來他無視它。任何解決這個問題的數學函數?

謝謝!

回答

1

你可以只定義correct_user總是立即返回,如果current_user是管理員:

def correct_user 
    return if current_user.admin? 

    # put existing logic here 
end 
+0

在這種情況下,只有管理員可以做更新和刪除用戶。如果普通用戶也想訪問這兩個操作呢? – Moh

+0

如果您背後有複雜的邏輯,您可能需要查看處理這些事情的Gem,例如[CanCan](https://github.com/ryanb/cancan)。 –

+0

謝謝我現在得到了+1 – Moh