modifier 2
Si vous tombez sur ceci, vérifiez les deux réponses car j'utiliserais maintenant pluck pour cela
J'ai un ensemble de données personnalisé assez volumineux que j'aimerais retourner pour être repris en tant que json. Une partie est:
l=Location.find(row.id)
tmp[row.id]=l
mais j'aimerais faire quelque chose comme:
l=Location.find(row.id).select("name, website, city")
tmp[row.id]=l
mais cela ne semble pas fonctionner. Comment pourrais-je faire fonctionner cela?
THX
edit 1
alternativement, existe-t-il un moyen de transmettre un tableau contenant uniquement les attributs que je veux inclure?
:limit
devrait faire ceci, ou:first
ou:last
ou quoi que ce soit, selon ce que vous voulez. Le document de référence auquel j'ai lié vous dira comment faire tout cela.pluck (nom_colonne)
Cette méthode est conçue pour effectuer une sélection par une seule colonne en tant que requête SQL directe Renvoie Tableau avec les valeurs du nom de colonne spécifié Les valeurs ont le même type de données que la colonne.
Exemples:
voir http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-pluck
Ses rails introduits à partir de 3.2 et n'acceptent qu'une seule colonne. Dans les rails 4, il accepte plusieurs colonnes
la source
Location.select([:name, :website, :city])
si vous lui passez un tableauMa réponse arrive assez tard car je suis un développeur assez récent. Voici ce que vous pouvez faire:
Btw, c'est Rails 4
la source