2015-08-11 21 views

cevap

14

kullanarak yeniden yazmak için çalışırken flaş mesaj koymak için nerede bilmiyorum. Esasen, if bu koşulların yerine getirilmesi için yönteme ihtiyaç yoktur, bu yüzden erken ayrılabilirsiniz.

def require_admin 
    return if current_user && current_user.role == 'admin' 

    flash[:error] = "You are not an admin" 
    redirect_to root_path 
end 
+2

Justin'in cevabını genişletmek için, aslında rol modelinde kullanıcı modelinizde bir yöntem oluştururdum. Bu şekilde çek için current_user.admin? 'Diyebilirsiniz. Sadece biraz daha temiz. Ya da yönetici olmayan bir yöntem yazabilir ve koruma maddesini current_user.not_admin? –