Я использую такие проверки во многих частях своего приложения.
if user_signed_in? && current_user.role.label == "admin"
# do something
end
Я решил создать метод в модели User
(devise), который будет содержать эту проверку
# app/models/user.rb
def is_admin?
user_signed_in? && self.role.label == "admin"
end
def is_editor?
user_signed_in? && self.role.label == "editor"
end
# etc etc
Так что я могу использовать это вместо этого, просто для большего удобства использования.
if current_user.is_admin?
# do something
end
Однако я получаю сообщение об ошибке для неопределенного user_signed_in? метод. Как я могу это решить?