Ответ 1
Я мог бы идентифицировать проблему, в rails 5, будет исключение, если метод пропуски не определен во время вызова, если мы не добавим условие :unless
.
У меня было приложение для рельсов, которое отлично работало с дизайном 3 и рельсами 4. Я обновил рельсы до 5 и дал DEPRECATION WARNING: alias_method_chain is deprecated
. Поэтому мне пришлось изменить версию разработки на 4.0.0.rc1.
Теперь кажется, что при разработке не генерируются такие методы, как authenticate_user!
, is_admin
и т.д.
Я получаю следующую ошибку
Before process_action callback :authenticate_user! has not been defined (ArgumentError)
Я пробовал все, включая, деинсталляцию и установку снова, а затем попытался создать отдельную модель с нуля, и все же методы не определены.
Любые идеи, пожалуйста?
Я мог бы идентифицировать проблему, в rails 5, будет исключение, если метод пропуски не определен во время вызова, если мы не добавим условие :unless
.
Ответ на это - просто изменить:
skip_before_action :authenticate_user!
to ---
skip_before_action :authenticate_user!, raise: false
https://github.com/plataformatec/devise/issues/4207 https://github.com/thoughtbot/clearance/issues/621
Пока рельсы5 не поддерживают земли в разработке, вы можете попробовать использовать эту вилку:
gem 'devise', github: 'twalpole/devise', branch: 'rails5'