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

Antwort per Email an