2013-01-03 13 views
7

Questo è un esempio di una voce nel mio database (.each, .Raccogliere, .map ...?):Ruby on Rails attivo Record Query

Market id: 1, name: "Independence Park (Independently Run Farmers Market...", address: "3945 N. Springfield Ave., Chicago, IL", zipcode: "60618", created_at: "2013-01-01 21:22:24", updated_at: "2013-01-01 21:22:24" 

Tutto quello che voglio fare è la lista dei 43 codici di avviamento postale da tutte le voci nel mio database. Perché queste query non funzionano?

  1. Market.all.each { |m| m.zipcode }
  2. Market.all.zipcode
    • m = Market.all
    • m.each{ |m| m.zipcode }

Grazie!

+0

qual è la relazione è il codice postale è campo di mercato o in relazione – Amar

+1

ho capito ... Market.pluck (: zipcode) – user1946151

risposta

21

Se invece si è un insieme di codici di avviamento postale, vorrei suggerire di provare questo:

Market.pluck(:zipcode) 
3

Si potrebbe anche fare quanto segue, che restituisce un array di zipcodes:

Market.all.map(&:zipcode) 

Utilizzare Benchmark per determinare quale è meglio.

+2

questo sarà potenzialmente mangiare un sacco di RAM. – srecnig