12

このガイドに従って、アプリに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
4

3 に答える 3

17

ガイドを見ると、ルートファイルに次の行が指定されています。

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

あなたが持っている場所:

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

違いを見ます?

于 2012-07-14T15:22:40.870 に答える
0

チュートリアルで同様の問題に遭遇しました。users/omniauth_callbacks_controller.rb で facebook の F の大文字化を確認してください。大文字の「Facebook」を使用していましたが、小文字の「facebook」を探していました。

于 2018-02-07T23:40:44.003 に答える