Sto cercando un modo facile/veloce per ottenere una matrice di ID da una relazione Active Record.Rails Active Record - Ottieni la matrice ids dalla relazione
Attualmente ho:
product_ids = Product.select(:id).where(:colour => 'blue').all.map{|p|p.id}
Ma questo è disordinato e richiede una mappa ..
Qualcosa di simile sarebbe più fresco:
product_ids = Product.where(:colour => 'blue').ids
Tutte le idee?
Grazie :)
Pluck è la soluzione migliore qui, ma proprio come un bit: invece di 'map {| p | p.id} 'puoi scrivere' map (&: id) '. Questo è vero per tutti gli enumeratori ('each',' any? ',' Select', 'reject' ecc.), E chiamerà il simbolo su ogni oggetto attraversato. – jokklan
oh sì, sapevo che 'map (&: id)' aveva solo un vuoto mentale durante la scrittura di questo: P – complistic
Abbastanza corretto: P! Ma comunque è bello sapere per gli altri utenti che leggono questa domanda :) – jokklan