【问题标题】:Undefined method `to' for nil:NilClass + devise + railsnil 的未定义方法“to”:NilClass + devise + rails
【发布时间】:2014-10-17 03:52:59
【问题描述】:

我在我的 Rails 应用程序中使用Devise。对于某些用户,我遇到了这种错误:

undefined method 'to' for nil:NilClass来自这个方法

def http_auth_header?
 Devise.mappings[scope].to.http_authenticatable && !request.xhr?
end

来自Devise 本身。

我该如何解决这个问题?

【问题讨论】:

  • 嗨,您是否尝试覆盖 current_user 方法?我这样做时遇到了同样的错误。

标签: ruby-on-rails devise


【解决方案1】:

我花时间解决了同样的问题。

我在 SessionController 中做了一些自定义的东西:

resource = warden.authenticate!(:scope => "user", :recall => "#{controller_path}#failure")

事实上,范围必须是一个符号:

resource = warden.authenticate!(:scope => :user, :recall => "#{controller_path}#failure")

所以我认为你只是提供一个范围作为字符串而不是符号

希望对你有帮助;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    相关资源
    最近更新 更多