9
Jaki jest poprawny sposób użycia klauzuli guard w tym przykładzie?Jak poprawnie używać klauzuli guard w Ruby
def require_admin
unless current_user && current_user.role == 'admin'
flash[:error] = "You are not an admin"
redirect_to root_path
end
end
nie wiem gdzie umieścić wiadomość bezpośrednią, próbując przerobić za pomocą tych https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals konwencje
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?' –