2011-06-16 9 views

Respuesta

1

Debajo del capó, find hace más o menos lo que está describiendo con su where. Puede encontrar los detalles en this post. Dicho esto, si está buscando obtener un solo registro por ID, entonces es posible que desee utilizar find_one. Eso es lo que find termina haciendo cuando lo llamas con un único argumento de una identificación, pero pasarás por alto el resto del código que necesita ejecutar para descubrir que eso es lo que querías.

+0

Este método ya no parece existir. –

1

Respuesta breve, pero: realmente no importa (a menos que no tenga una restricción única en su columna id).

+3

+1 Es posible que desee elaborar, esto es porque find siempre devuelve un solo registro. Donde devuelve todos los registros coincidentes a menos que se proporcione un límite. – diedthreetimes

+0

Entonces, si tengo una restricción única en mi columna 'id', ¿cuál es la mejor forma de "rendimiento"? – user502052

+0

No importa. '.find' no necesitaría asignar una matriz (pero eso es un detalle de implementación que no debería importar). La razón para usar '.find' es:' .find (foo) 'es mucho más legible que' .where (: id => foo) .first'. –

Cuestiones relacionadas