сделать before_filter с current_user - PullRequest
       20

сделать before_filter с current_user

0 голосов
/ 17 октября 2011

Я хотел бы сделать before_filter на контроллере с помощью метода: current_user
И это работает ...
Но у меня есть административное логическое значение в атрибутах пользователя, и я хотел бы, чтобы только те пользователи, которые имеют логическое значение «истина», используют контроллер.
Как я могу это сделать ?

Спасибо за ваш ответ

1 Ответ

6 голосов
/ 17 октября 2011

Вы можете использовать любой метод, который возвращает логическое значение как before_filter в рельсах. Так что в вашем случае просто создайте метод, подобный

def is_admin?
  return (current_user && current_user.admin?)
end

и затем вызовите before_filter is_admin? в верхней части вашего контроллера с действиями, которые вы хотите отфильтровать.

Обратите внимание, что оценка короткого замыкания && гарантирует, что admin? не вызывается current_user, если оно равно нулю.

...