2015-08-11 17 views

Odpowiedz

14

Można użyć instrukcji return tutaj. Zasadniczo nie ma potrzeby, aby ta metoda była kontynuowana, ponieważ warunki te są spełnione, więc możesz się wcześnie wycofać.

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

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

Aby rozwinąć odpowiedź Justina, faktycznie utworzyłbym metodę w twoim modelu użytkownika dla roli admin. W ten sposób możesz wywołać 'current_user.admin?' Dla sprawdzenia. Tylko trochę czystszy. Lub możesz nawet napisać metodę dla nieadministratora i zmienić klauzulę wartownika na 'return, chyba że current_user.not_admin?' –

Powiązane problemy