2017-02-01 2 views
1

Ich versuche, eine Rails-App zu erstellen, die Devise mit Omniahuth-Optionen für die Benutzerverwaltung verwendet. Ich versuche, einen OAuth-Dienst auf einmal zu starten, beginnend mit Github. Die Begrüßungsseite wird geladen, ich klicke mit Github anmelden, gehe zur Github-Autorisierungsseite und erlaube, dann beginnt die Umleitung und ich bekomme die Fehlermeldung The action 'github' could not be found for Devise::OmniauthCallbacksController.Devise OmniahutsController wird nicht verwendet

Ich verstehe nicht, warum ich diesen Fehler bin immer b/c ich die Aktion in app/controllers/users/omniauth_callbacks_controller.rb definiert sich wie folgt:

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController 

    def github 
    @user = User.from_omniauth(request.env["omniauth.auth"]) 
    sign_in_and_redirect @user 
    end 

end 

app/models/user.rb

class User < ApplicationRecord 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable,  :omniauthable, :confirmable, :lockable, :omniauth_providers => [:github] 

end 

und app/config/routes.rb

Es versucht, auf die Defau zu Rückfall Es Devise OmniauthsCallbacksController anstatt meine Benutzer/omniauths_callbacks_controller.rb, aber ich weiß nicht warum. Irgendwelche Vorschläge?

Möglicherweise relevante Informationen:

ruby v 2.4.0 
rails v 50.0.1 
omniauth v 1.3.2 
devise v 4.2.0 
omniauth-github v 1.1.2 

Antwort

1

Try

devise_for :users, :controller => { :omniauth => "users/omniauth_callbacks" } 

zu

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

aktualisiert Frage zu ersetzen. Das ist der Name der Datei, hatte früher einen Tippfehler meinerseits. –

+0

Das hat es behoben, danke. –

Verwandte Themen