Wiederverwenden-Code aus einer anderen Rails App
-
22-07-2019 - |
Frage
Ich versuche, einige Codes aus einer anderen Rails-Anwendung wiederverwendet hatte ich bereits gearbeitet. Ich kopierte über alle Modelle / Ansichten / Controller / Migrationen und lief rake db: erstellen und migrieren. Wenn ich jetzt versuchen, die Anwendung die erste Seite für diese Ansicht zu laufen (die, die die Liste bearbeiten hat / Löschen) lädt fein und zeigt, dass es 0 Datensätze. Als ich neu klicken, jedoch zeigt es eine Fehlermeldung auf einem Stück Code durch das Gerüst in meiner anderen Anwendung erstellt ...
<%= link_to 'New comment', new_comment_path %>
undefined local variable or method `new_comment_path' for #<ActionView::Base:0xb67c9690>
Sollte ich in der Lage sein, diesen Code wieder zu verwenden oder ist ihr etwas, was ich tun müssen, um sicherzustellen, dass ich alles haben, bewegt über. Ich habe versucht, mit grep zu finden, wo die ‚new_comment_path‘ wurde in meinem anderen Projekt definiert ist, und ich sah nur verwendete es in einem ähnlichen Zusammenhang zu dem, was oben aufgeführt ist. Jede mögliche Hilfe würde geschätzt.
Lösung
Dieser Fehler zeigt, dass Sie Routen fehlen.
Überprüfen Sie in der conf / routes.rb Datei im App Sie kopieren aus.
Die meisten wahrscheinlich alles, was Sie tun müssen, ist hinzuzufügen
map.resources :comments
Ihre routes.rb
Und fügen hinzu, dass für alle Controller, die Sie kopiert haben.
Andere Tipps
Wenn Sie Zeit haben, oder erwarten, dass dies wieder tun, können Sie die Wiederverwendung Kandidaten in ein Plugin in Erwägung ziehen, oder verwenden Sie die Motoren in 2.3 verfügen (oder installieren Sie die rails_engines Plugin für etwas ältere Versionen)