2012-07-14 11 views
11

Estoy tratando de implementar la autenticación de facebook en mi aplicación siguiente this guidelegado/OmniAuth - La acción 'facebook' no se pudo encontrar

He seguido todos los pasos, pero sale el siguiente error después de golpear inicio de sesión.

Unknown action 

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

He creado el archivo omniauth_callbacks_controller en controladores/usuarios. Tiene un método de Facebook definido. ¿Alguna idea de cómo debo depurar? presentar


Adición de mis rutas -

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 

Respuesta

15

Si nos fijamos en la guía se especifica esta línea para el archivo de rutas:

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

donde se tiene:

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

ver la diferencia?

0

Me encontré con un problema similar con los tutoriales. Compruebe la capitalización de F en Facebook en usuarios/omniauth_callbacks_controller.rb Estaba usando un "Facebook" de capital pero estaba buscando "facebook" en minúsculas

Cuestiones relacionadas