2011-01-17 13 views
0

Ich habe einen Verein wie so has_many :comments, :dependent => :delete_all, :order => "created_at ASC", :include => [:user]Schienen Verein, einzelner Datensatz nur

dies nur den ersten Kommentar zurückkehrt. während sollte alles ...

EDIT Kommentar zurückkehren:

a = Activity.find (1) a.comments a.comments hat nur einen Rekord-Eintrag, während Comment.find_all_by_activity_id (1) 4

EDIT nach Studien ...

Es scheint, dass die Verwendung von: include => [: Benutzer,: Kommentare] für jede Aktivität das Ergebnis ein Kommentar ist zu begrenzen.

irgendeine idee warum? und noch wichtiger, wie man es repariert? Ich könnte es aus dem Include entfernen, aber ich möchte n + 1 Abfragen vermeiden ...

+0

Was ist der Code, der nur den ersten Kommentar zurückgibt? – Heikki

+0

a = Activity.find (1) a.comments a.comments hat nur einen Datensatzeintrag, während Comment.find_all_by_activity_id (1) 4 hat – Amit

Antwort

0

Ich würde auf die SQL, die für jeden Aufruf generiert wird, entweder in der Konsolenausgabe oder Datenbankprotokolldatei.

Sind die generierten Anweisungen gleich?