Ruby-on-Rails: разработка пользовательского сбоя приложения - PullRequest
3 голосов
/ 30 ноября 2010

Я пытаюсь настроить Devise для возврата 401 неавторизованным запросам API вместо перенаправлений, но я сталкиваюсь с валуном. Вот как я переопределяю его пользовательское поведение при сбое:

class CustomFailure < Devise::FailureApp
    include ActionController::Head
    include ActionController::MimeResponds

    def respond
        respond_to do |format|
            format.html {
                super
            }
            format.any { head :status => 401}
        end
    end
end

Однако я получаю эту ошибку:

undefined local variable or method `lookup_context' for #<CustomFailure:0x000001031f6220>

и указывает на respond_to do |format| линию

Что я делаю не так?

1 Ответ

7 голосов
/ 30 ноября 2010
def respond
  unless request.format.to_sym == :html
    http_auth
  else
    super
  end
end

Devise :: FailureApp унаследован от ActionController :: Metal, который взаимодействует с Rack на низком уровне, поэтому нет ответа_ для просмотра связанных вещей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...