Вы можете использовать любой метод, который возвращает логическое значение как before_filter
в рельсах. Так что в вашем случае просто создайте метод, подобный
def is_admin?
return (current_user && current_user.admin?)
end
и затем вызовите before_filter is_admin?
в верхней части вашего контроллера с действиями, которые вы хотите отфильтровать.
Обратите внимание, что оценка короткого замыкания &&
гарантирует, что admin?
не вызывается current_user
, если оно равно нулю.