Ich versuche, eine Rails-Webanwendung zu erstellen, die nicht ActiveRecord-Framework verwendet, da ich keine relationale Datenbank-Backend habe.
Bisher ist es mir gelungen, eine einfache Beispielanwendung zu erstellen, die perfekt zum Auflisten, Anzeigen und Bearbeiten meiner Datensätze funktioniert.
Allerdings habe ich einige Probleme bei der Erstellung von Datensätzen.
Das Problem ist, dass sich die Controller-Klasse nicht auf die gleiche Weise verhält, wenn die Modellklasse nicht von ActiveRecord::Base erbt.
Aus der Sicht des Controllers scheint die Erstellung eines Datensatzes in einem klassischen Active-Record-Modellschema, in dem das Modell von ActiveRecord::Base erbt, folgendermaßen abzulaufen:
- controller.new : Erstellung eines nicht persistenten Datensatzes, Rendering des Eingabeformulars
- controller.create : Einrichten des Datensatzes mit Benutzereingabe, persistente Speicherung, .
In dem Fall, dass das Modell kein ActiveRecord ist, ergibt sich jedoch die folgende Sequenz:
- controller.neu
- controller.update
Das ist natürlich ein wenig seltsam, weil wir die Erstellungsmethode überspringen, so dass es zu einem Null-Instanz-Fehler führen wird!
Ich bin ziemlich sicher, dass dieses Verhalten durch etwas, das in das Modell implementiert werden sollte diktiert wird, jedoch war ich nicht in der Lage zu finden, was (wahrscheinlich, weil ich ein absoluter Anfänger mit Schienen bin)
Also, wenn jemand hier hat einige Hinweise auf was ich sein sollte, suchen/implementieren, um diese Situation zu lösen und haben das gleiche Verhalten in beiden Fällen, ich wäre wirklich dankbar.
Gracias,