2011-07-11 5 views
17

No estoy seguro de por qué no puedo encontrar cómo hacerlo fácilmente ... Obviamente, podría hacerlo con SQL sin procesar, pero estoy tratando de familiarizarme con ActiveRecord.Recuperando solo ciertas columnas con Rails 3 donde la cláusula

results = Model.where(:lat => (south..north), :lng => (east..west)) 

No quiero todos los campos, solo unos pocos. ¿Cómo limitaría los resultados para incluir solo las columnas que elija?

Respuesta

28
results = Model.where(:lat => (south..north), :lng => (east..west)).select([:lat, :long, :id]) 

Usted también probablemente desea incluir la :id en que seleccione si desea que sus resultados se comporten como razonables ActiveRecord objetos.

Editar: Seleccionar toma una sola arg, puede ser una matriz.

+0

Gracias. Una corrección a su código anterior es lo que dijo unixcharles en su respuesta: el argumento para seleccionar debe ser una matriz de los campos o cadena sql. – Patm

Cuestiones relacionadas