Speichern von ActiveRecord-Zuordnungen, die gleichzeitig auf einander zeigen

8

Ich habe die folgenden Modelle

%Vor%

Geben Sie ein visuelles Bild, es ist so etwas

%Vor%

Gibt es jetzt eine Möglichkeit, die ganzen Datensätze auf einmal zu erstellen, wenn man die Parameter wie folgt sieht? (Nehmen Sie an, die Ziele und Zuweisungen sind wie die Reihenfolge des Parameterarrays miteinander verknüpft)

%Vor%

Ich weiß, dass das Speichern von Zielen zuerst und das anschließende Durchlaufen der Anweisungen, um die Ziel-ID von Assignment zu setzen, die Aufgabe erledigen kann, aber ich frage mich, ob es einen klügeren Weg gibt.

    
Ryo 24.08.2017, 06:15
quelle

2 Antworten

1

Nun, ich kenne die Details Ihres Problems nicht und werde antworten, was ich denke, es wäre eine "kleinere" Lösung.

Verwenden Sie eine has_many durch Zuordnung, wo Sie haben:

Cargo hat viele Ziele durch Zuweisungen.

Ziele haben viele Fracht durch Zuweisungen.

Zuweisungen enthält sowohl den Fracht- als auch den Ziel-Fremdschlüssel.

Wenn Sie Informationen über die Reihenfolge der Ziele benötigen, können Sie die Datensätze einfach anhand des create-Zeitstempels der Zuweisung abfragen.

Hier ist ein Beispiel-of-has-many-through-using- verschachtelte Attribute . Ich glaube, auf diese Weise können Sie Schienen haben, die alle Aufzeichnungen "automatisch" speichern. Außerdem können Sie die vom Verband angebotenen Abfragen verwenden, um alle drei Datensätze der Tabelle zu behandeln!

Lass mich wissen, was du denkst! Viel Glück!

Link zu Führungsschienen has_many_through assoaciton

    
Pedro Gabriel Lima 25.08.2017 03:45
quelle
1

Die hierarchische Struktur ist zu reich für architektonische Zwecke: Ich könnte damit Ihren gesamten Workflow reproduzieren:

Am Ende des Codes habe ich Kommentare hinterlassen

Sie können den Code im Terminal ausführen, kopieren Sie ihn einfach in test.rb file und führen Sie ruby test.rb im Terminal

aus

Und gerade vorher, create db in postgresql (oder mysql)

%Vor%     
itsnikolay 02.09.2017 20:20
quelle