【发布时间】:2013-02-27 19:41:51
【问题描述】:
我有一个运行 Devise 和 Omniauth 的 Web 应用程序来验证 Facebook 上的用户。当我点击链接通过 Facebook 登录时,它会将我引导至
/users/auth/facebook/callback?state=[state]code=[code]
这是正确的。但是页面给了我以下错误。
uninitialized constant ApplicationController::DeviseController
它指向的行在ApplicationController中
DeviseController.respond_to :html, :json
我已经在此处包含了我的相关代码https://gist.github.com/testrecord/5050992 此外,我确实在初始化程序中设置了它。
有人见过这样的错误吗?任何帮助表示赞赏。
【问题讨论】:
-
看起来 rails 无法找到 DeviseController 类——这意味着它在某种程度上无法从您的 ApplicationController 中获得。它在您的 Gemfile 中吗?你能确认你的 Devise 初始化程序运行正常吗?
-
我可以验证我可以使用正常的 devise 设置登录,也可以通过 devise 使用 Google OpenID。我不确定我确切知道如何提供任何额外的验证。
-
DeviseController 是否应该在 ApplicationController 命名空间中?您是否尝试使用
::DeviseController调用它? -
我确实尝试过。它给了我同样的错误,但更改为“未初始化的常量 DeviseController”。
标签: ruby-on-rails ruby facebook devise omniauth