Ruby-on-Rails:设计自定义故障应用程序问题

我正在尝试设置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 |线

我究竟做错了什么?

解决方法

def respond
  unless request.format.to_sym == :html
    http_auth
  else
    super
  end
end

Devise :: FailureApp继承自ActionController :: Metal,它与Rack在低级别上进行交互,所以没有respond_to查看相关的东西

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...