Подтвердить что ты не робот

skip_before_action и Rails 5

Я только что обновился до 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
4b9b3361

Ответ 2

В Rails 5, если метод redirect_heroku_user не определен в одном контроллере, тогда возникает это исключение.

Вы можете передать raise: false чтобы избежать его, как указано здесь:

skip_before_action :redirect_heroku_user, only: :edit, raise: false