Задать вопрос
@eldar_web

Как в Ruby on Rails в before_filter исключить определенный метод контроллера?

Допустим, есть метод uses/new, в routes тоже есть альяс 'registartion' => 'users#new'.
Так пишу:
before_filter :authorize, :except => ['user/new']
before_filter :authorize, :except => ['registartion']
--- не работают.
Но если писать :new, но так не нужно делать, потому в других контроллерах тоже есть new.
Как же можно решить проблему?
  • Вопрос задан
  • 264 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
  • Хороший программист
    Интенсив по Ruby on Rails
    5 месяцев
    Далее
Решения вопроса 1
Здравствуйте, по моему это то, что вам нужно. Используйте skip_before_action в нужном вам контроллере.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@evgeniy_trebin
Ruby on Rails developer
before_action only: :new do |controller|
    authenticate unless controller.class.name == 'UsersController'
end

как-то так, но лучше задуматься над архитектурой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы