Am 23.07.2007 um 16:09 schrieb Stefan Frank:
hmm, ich kenn jetzt die speziellen Anforderungen hier nicht, aber
mir ist das auch schon häufiger untergekommen, dass man explizit
kontrollieren will, was man da lädt: Vor allem dann, wenn in der
Tabelle z.B. viel TEXT oder Blobs drin sind: Standardanforderung
ist, dass man z.B. auf index-Seiten nur das lädt, was man für die
Anzeige der Suchergebniss braucht.
Wenn ich das .map(&:id) richtig verstanden habe, dann ist es da
schon zu spät und auch die Text/Blob-Spalten sind bereits über die
Leitung gewandert. Kann man das denn nicht irgendwie kontrollieren
in rails, dh. macht rails immer ein select * ?!
ähm… nein. In der API von find steht:
:select: By default, this is * as in SELECT * FROM, but can be
changed if you for example want to do a join, but not include the
joined columns.
Das Problem liegt bei Michael wo anders. Nämlich dass Rails immer AR-
Objekte zurückgibt. Aber nicht mit allen Attributen. Die kann man
über select einschränken. Wenn allerdings ein Array von AR-Objekten,
in denen nur die IDs enthalten sind schon Overkill ist, dann kommst
Du tatsächlich um manuelles SQL nicht herum. Das sollte allerdings
wirklich nur der Fall sein, wenn Du eine 7- oder mehrstellige Anzahl
von Einträgen hast.
Niko.
--
___________________________________
niko dittmann
gottfr.-keller-str. 36
78467 konstanz
GERMANY
mail: [EMAIL PROTECTED]
fon: +49 7531 959531
fax: +49 1212 512 852 148
aim: ende42
___________________________________
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug