2008-09-18 6 views
12

Ich folgte mit dem Railscast in Bezug auf die restful_authentication Plugin.Umbenennen der Controller in Rails und Ausräumen generierten Inhalt

Er empfahl den Befehl ausführen:

/script erzeugen authentifizierte Benutzersitzung

Was ich tat, und alles „in Ordnung“ erzeugt, aber dann würden Sitzungen nicht funktionieren. Überprüfen Sie die Website wieder erwähnt er einen Benennungsstandard und aufgelistet aktualisierten Code in dem es hieß:

/script erzeugen authentifizierte Benutzersitzungen

Mit Sitzungen pluralized werden.

So, jetzt habe ich mit einer Session darin session_controller.rb, aber ich denke, durch Normen zu nennen, es sucht SessionsController, den Code zu verursachen aus mit dem Fehler fehlschlagen „Nameerror in SessionsController # erstellen“

Ich sehe das Problem, das ist ziemlich offensichtlich, aber was ich nicht weiß ist, wie repariere ich das, ohne den Inhalt neu zu generieren? Gibt es eine Möglichkeit, den Erzeugungsprozess umzukehren, um alle von der Generation vorgenommenen Änderungen zu beseitigen?

Ich habe versucht, nur die Dateien zu Sessions-Controller mit e SessionsController-Klasse umzubenennen, aber das ist fehlgeschlagen.

Während ich dies schrieb, löste ich mein eigenes Problem. Ich musste Session in Sessions in der routes-Datei als map.resource umbenennen und das View-Verzeichnis von Session zu Session umbenennen und session_path in der html.erb-Datei zu sessions_path aktualisieren.

Also habe ich mein Problem gelöst, aber meine Antwort in Bezug auf das Entfernen von generierten Inhalten bleibt bestehen. Ist es möglich, Inhalte zu generieren?

Antwort

14

Eigentlich funktioniert script/destroy für jeden Generator - Generatoren funktionieren, indem sie ein Skript der Art lesen, welche Dateien erstellt werden sollen; script/destroy liest nur das Skript in umgekehrter Reihenfolge und entfernt alle erstellten Dateien, solange Sie dieselben Argumente angeben, die Sie an script/generate übergeben haben.

Zusammenfassend: script/destroy authenticated user session hätte alle generierten Dateien für Sie entfernt, nach denen Sie problemlos ausgeführt haben könnten.

1

Sie können einfach auf die vorherige Revision in Subversion Rollback, und starten Sie erneut, oder? Recht? :-)

rails hat script/destroy für 'nicht generierenden' Zeug, aber ich vermute, dass nur für die Sachen Rails Schiffe mit, nicht die erholsamen Authentifizierung Plugin arbeiten wird.

Ich würde sagen, Ihre beste Wette ist finden in Dateien (oder grep -R wenn Sie nicht eine IDE) - alles finden, was zu Ihrer alten Session verweist und ändern Sie es

2

Ich habe nie versucht, script/destroy, aber wenn Sie die gerade vorgenommenen Änderungen rückgängig machen, sollte der Befehl generate Ihnen eine Liste der hinzugefügten und vorgenommenen Änderungen geben. Wenn Sie ein Versionsverwaltungssystem irgendeiner Art verwenden, kann auch das Ausführen von status/diff helfen.

Verwandte Themen