Ich habe versucht, Ссылка zu folgen, aber irgendwie, wenn ich mir die generierten Routen ansehe, die ich nur sehe der Callback-Pfad und nicht der Autorisierungspfad (und tatsächlich erhalte ich den Fehler in der Ansicht mit dem Link user_omniahuth_authorize_path).
Ich nehme an, es könnte sich um ein Versions-Problem von OmniAuth und Devise ( seit 0.2.0.beta Omniath handeln erlaubt konfigurierbare Einstellung, und die Routen müssen definiert werden ). Beim Versuch, eine ältere OmniAuth-Version zu verwenden, erhalte ich den Fehler " You are using an old OmniAuth version, please ensure 0.2.0.beta or later installed.
".
Ich habe versucht, mit Devise's Master, 1.2.rc und dem omniauth-Zweig und mit dem gesamten omniauth-Juwel (nach 0.2.0.beta) und mit 'oa-oauth' zu arbeiten, aber ohne Erfolg. Ich habe auch versucht, die Route zu definieren:
%Vor%Das half mit der Route, aber beim Drücken des Links habe ich den Fehler bekommen, dass das Gerät kein Mapping finden kann. Lustigerweise führte das Ändern des Controllers in devise_for, um ungültig zu werden (wie das Hinzufügen von '/' vor den Benutzern / omniauth_callbacks), beim ersten Mal zu einem Fehler ("Controllername sollte nicht mit einem Schrägstrich beginnen"), aber ein kleines Reload wurde tatsächlich gesendet mich nach Facebook und zurück (aber natürlich wurde die Callback-Route nicht definiert).
Ich bin Ruby neu und nicht ganz sicher, wohin ich von hier gehe. Jede Hilfe wird geschätzt.
Diese Methode ist definiert durch das Gerät , nicht über Routen. Daher wird es nicht angezeigt, wenn Sie rake routes
ausführen. Die Methode verwendet einen der oauth-Provider, die Sie in config / initializers / devies.rb konfiguriert haben. Zum Beispiel, wenn Sie Folgendes in devise.rb definieren:
Dann sollten Sie den Autorisieren-Link wie folgt erstellen:
%Vor%Tags und Links ruby-on-rails oauth authentication devise omniauth