bearbeiten 2
Wenn Sie darüber stolpern, überprüfen Sie beide Antworten, da ich jetzt Zupfen dafür verwenden würde
Ich habe einen ziemlich großen benutzerdefinierten Datensatz, den ich gerne zurückgeben würde, um als json ausgegeben zu werden. Ein Teil ist:
l=Location.find(row.id)
tmp[row.id]=l
aber ich würde gerne so etwas machen wie:
l=Location.find(row.id).select("name, website, city")
tmp[row.id]=l
aber das scheint nicht zu funktionieren. Wie würde ich das zum Laufen bringen?
Vielen Dank
Bearbeiten Sie 1
alternativ. Gibt es eine Möglichkeit, ein Array nur mit den Attributen zu übergeben, die ich aufnehmen möchte?
:limit
sollte dies tun, oder:first
oder:last
oder was auch immer, je nachdem, was Sie wollen. Das Referenzdokument, auf das ich verlinkt habe, zeigt Ihnen, wie Sie das alles machen können.zupfen (Spaltenname)
Diese Methode dient zur Auswahl durch eine einzelne Spalte als direkte SQL-Abfrage. Rückgabearray mit Werten des angegebenen Spaltennamens. Die Werte haben denselben Datentyp wie die Spalte.
Beispiele:
Siehe http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-pluck
Die eingeführten Schienen ab 3.2 akzeptieren nur eine einzelne Säule. In Schienen 4 werden mehrere Spalten akzeptiert
quelle
Location.select([:name, :website, :city])
Wenn Sie ein Array übergebenMeine Antwort kommt ziemlich spät, weil ich ein ziemlich neuer Entwickler bin. Folgendes können Sie tun:
Übrigens ist dies Rails 4
quelle