问题 devise / omniauth - 无法找到“facebook”动作


我正试图在我的应用程序中实现facebook身份验证 本指南

我已按照所有步骤操作,但在登录后遇到以下错误。

Unknown action

The action 'facebook' could not be found for Devise::OmniauthCallbacksController

我在控制器/用户中创建了文件omniauth_callbacks_controller。它定义了一个facebook方法。知道我应该如何调试?


添加我的路线文件 -

Myapp::Application.routes.draw do
  get "static_pages/home"

  get "static_pages/help"

  get "static_pages/about"

  devise_for :users do
    resources :posts

  end

  root :to => 'static_pages#home'

  devise_for :users, controllers: {omniauth_callbacks: "omniauth_callbacks"}
end

10560
2017-07-14 11:10


起源



答案:


如果您查看指南,它会为您的路线文件指定此行:

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }

你在哪里:

devise_for :users, controllers: {omniauth_callbacks: "omniauth_callbacks"}

看到不同?


15
2017-07-14 15:22





我在教程中遇到了类似的问题。检查大写 f在facebook中的用户/ omniauth_callbacks_controller.rb我使用的是大写的“Facebook”,但它正在寻找小写的“facebook”


0
2018-02-07 23:40