@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.
Как же можно решить проблему?
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
Здравствуйте, по моему это то, что вам нужно. Используйте skip_before_action в нужном вам контроллере.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@evgeniy_trebin
Ruby on Rails developer
before_action only: :new do |controller|
    authenticate unless controller.class.name == 'UsersController'
end

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

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

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