我正在尝试设置Devise将401返回到未经授权的API请求而不是重定向,但我遇到了一块巨石.这就是我如何重写它的自定义失败行为: class CustomFailure Devise::FailureApp include ActionController::Head in
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 |线
我究竟做错了什么?
def respond
unless request.format.to_sym == :html
http_auth
else
super
end
end
Devise :: FailureApp继承自ActionController :: Metal,它与Rack在低级别上进行交互,所以没有respond_to查看相关的东西
