2009-03-12 9 views
1

Ich bin mäßig neue finden Rails so kann dies eine dumme Frage ...Rails Restful Authentifizierung: Kann nicht UserObserver

ich die grundlegenden Schritte gefolgt merkt auf dem github site for the plugin (vor allem das Plugin installiert, lief der Generator , modifizierte environment.rb und erstellte die UserObserver-Klasse im Verzeichnis models)

Der Fehler, den ich bekomme, ist, dass es von active_support/dependencies kommt. "'load_missing_constant': nicht initialisierter konstanter UserObserver (NameError)." Gibt es eine Idee, warum die Benutzerbeobachterklasse nicht gefunden werden konnte?

+0

können Sie sagen, welches Plugin Sie installiert haben? –

+0

Whoops Ich habe komplett vergessen, den Link in die Site zu stellen. Entschuldigung - der Standard restful_authentication unter http://github.com/technoweenie/restful-authentication/tree/master –

Antwort

5

Das bedeutet, es sucht nach einer Konstante namens "UserObserver" (was im Allgemeinen bedeutet, dass es eine Klasse/ein Modul ist). Es kann nicht gefunden werden, weil Sie möglicherweise keine Datei namens user_observer.rb haben, die sich in der Regel in app/models oder app/beobachtern befindet.

1

Ich kenne nicht die Lösung für Ihr spezielles Problem, aber Sie könnten einen Blick auf Bort, die eine Skelett-App ist, die bereits beruhigende Auth-Setup hat, und sehen, was sie getan haben, dass Sie nicht haben.

+0

Bort sieht ziemlich cool aus Ich denke, ich werde das als nächstes tun Zeit herum. –

3

Haben Sie beide Zeilen in die Datei environment.rb aufgenommen? Angenommen user_observer.rb befindet sich in app/observers.

config.load_paths += %W(#{RAILS_ROOT}/app/observers)% 
config.active_record.observers = :user_observer 
1

Ich habe dieses Problem vor aufgetreten. Hier ist die Lösung:

Nehmen Sie keine Änderungen an der Umgebung vor, und führen Sie keine Dateien weiter, bevor Sie den Generator verwenden. benutze zuerst den Generator; DANN addiere die ...

map.signup '/ Anmeldung',: controller => 'Benutzer',: action => 'neu' map.login '/ login',: controller => 'Sitzungen', : action => 'neu' map.logout '/ abmelden',: controller => 'sessions',: action => 'zerstören'

... etc.

das sollte es tun.

Verwandte Themen