Ich habe gesucht, aber nicht in der Lage, die kurze Erklärung für den Unterschied zwischen ActiveRecord und ActiveRecord :: relation Objekt zu finden.Unterschied zwischen ActiveRecord und ActiveRecord :: Relation Objekte
Ich verstehe haben, dass Active das einzige Objekt ist durch so etwas wie
User.find(1)
Und Active finden :: Relation ist das Array wie Objekt suchen nach etwas wie
User.where(id: 1)
Ich suche die Unterschied zwischen ihnen in Bezug auf die Abfrage Ausführung oder tiefe Erklärung über sie, so dass es das gesamte Konzept dahinter klären wird.
Vielen Dank im Voraus!
dank @spickermann, wenn ich auf Schienen Konsole versuchen, dann zeigt es mir SQL-Abfrage wird bei aktiver Aufzeichnung Beziehung ausgeführt werden sollen, aber es sollte nicht sein, weil es sich um eine Darstellung ist. Kannst du das bitte erklären? – power
@power: Es wird in der Konsole ausgeführt, weil die Konsole "inspect" auf diese Relation aufruft, um das Ergebnis auszugeben. Wenn Sie die Zeile so ändern, dass die Beziehung nicht zurückgegeben wird (z. B. "User.where (id: 10); nil"), werden Sie feststellen, dass die Abfrage nicht ausgeführt wird. Während 'User.find (10); "nil" würde die Abfrage immer noch ausführen. – spickermann
Danke @spickermann, dafür. – power