Ответ 1
Согласно этой теме
Итак, ваше решение - передать raise: false
для skip_before_action
:
skip_before_action :redirect_heroku_user, raise: false
См. Журнал изменений для получения дополнительной информации.
Я только что обновился до Rails 5, и все прошло довольно гладко, но без видимых причин метод, вызываемый после skip_before_action
, не позволяет rspec работать с этим сообщением
Перед обратным вызовом process_action: redirect_heroku_user не определен (ArgumentError)
Это супер странно, потому что он отлично работает на рельсах 4. Вот мой код:
# application_controller.rb
def redirect_heroku_user
redirect_to root_path if heroku_user?
end
# some_controller.rb
skip_before_action :redirect_heroku_user, only: :edit
Согласно этой теме
Итак, ваше решение - передать raise: false
для skip_before_action
:
skip_before_action :redirect_heroku_user, raise: false
См. Журнал изменений для получения дополнительной информации.
В Rails 5, если метод redirect_heroku_user
не определен в одном контроллере, тогда возникает это исключение.
Вы можете передать raise: false
чтобы избежать его, как указано здесь:
skip_before_action :redirect_heroku_user, only: :edit, raise: false