Probleme mit restful_authentication
Das Plugin restful_authentication ist der Nachfolger des bekannten acts_as_authenticated Login-Generators. Im Rails-Wiki wird dieses Plugin als “the only sane solution” beworben, falls man einen Login-Generator sucht.
Was genau macht das Plugin? Es erzeugt Login und Registrierungsformulare, ein User-Model, die Möglichkeit die Email-Adressen aus dem Registrierungsformular per Email zu verifizieren (durch einen per Email verschickten Aktivierungs-Link) und vieles mehr. Ich kann es nur wärmstens Empfehlen, insbesondere als Alternative zur eingeschränkteren Login-Funktionalität wie sie im “Agile Webdevelopment with Rails”-Buch vorgestellt wird!
Naja, bei der erstmaligen Benutzung von restful_authentication hatte ich jedoch ein Problem, dessen Lösung ein wenig mehr Suchaufwand erfordert hat, deswegen möchte ich sie hier vorstellen.
Restful_authentication benötigt zwei Controller, per Default “users” (zum Erzeugen neuer Benutzerkonten und zur Emailverifikation) und “sessions” (zum Erzeugen einer neuen Login-Session). Die Namen für die Controller kann man allerdings selbst festlegen. Ich habe statt sessions lieber session gewählt, was mir sinnvoller erschien (session/create vs. sessions/create, es wird ja schließlich nur eine Login-Session erzeugt). Letztendlich spielt der Name aber natürlich keine Rolle, da man ja named Routes benutzen kann.
Beim Login-Versuch bekam ich immer folgende Fehlermeldung:
uninitialized constant SessionsController
Die Lösung fand ich unter http://beast.caboo.se/forums/2/topics/1077:
In routes.rb muss die Zeile
map.resource :session
durch
map.resource :session, :controller => "session"
ersetzt werden, da sonst der Controllername automatisch (falsch) per Pluralization erzeugt wird.
Tags: plugin, restful_authentication
Mai 16th, 2010 at 12:39
Do you know that this is high time to receive the lowest-rate-loans.com, which would make you dreams real.
September 21st, 2010 at 14:58
I read this information with great pleasure. Thanks for such nice post!