Dies ist, wie mein Modell wiePreloading Daten ohne Verein vermasselt, wenn Daten, die das
siehtUser
belongs_to :computer
Computer
has_many :user
Benutzer erstellt werden, wenn die Leute sich für ein Konto auf der Website registrieren, aber Computer sind vorinstallierte Daten die ich in samen.rb/irgendeiner .rake-Datei erstelle. Alles ist gut und gut, wenn die App zum ersten Mal gestartet wird und die Leute sich registrieren und mit der richtigen Computer-ID verbunden werden. Allerdings nehme ich an einen anderen Computer in die Liste
Computer.destroy_all
Computer.create({:name => "Akane"})
Computer.create({:name => "Yoda"})
Computer.create({:name => "Mojito"}) #newly added
läuft die Rakefile zum zweiten Mal um Willen vermasseln die Verbände weil computer_id in der Benutzertabelle beziehen sich auf die alte ID in Computer-Tabelle hinzugefügt werden soll. Da ich das obige Skript ausgeführt habe, erhöht sich die ID in der Computertabelle ohne Rücksicht auf die Assoziation, die der Benutzer zu ihr hat. Alle Benutzer haben jetzt keine Referenz zurück zu ihrem Computer und alle Computer haben jetzt neue IDs.
Frage: Gibt es einen besseren Weg für mich, Daten vorzuladen, ohne meine Verbindung zu beschädigen? Ich möchte in der Lage sein, neue Computer hinzuzufügen, ohne den Benutzertisch zu zerstören. Das Zerstören der Computer-Tabelle ist in Ordnung und ich baue sie neu auf, aber die alte Verbindung, die die bestehenden Benutzer haben, muss intakt bleiben.