Wie konvertiert man ActiveRecord Ergebnisse in ein Array von Hashes
Ich habe eine ActiveRecord-Ergebnis der Suche-Funktion:
tasks_records = TaskStoreStatus.find(
:all,
:select => "task_id, store_name, store_region",
:conditions => ["task_status = ? and store_id = ?", "f", store_id]
)
Nun will ich wandeln diese Ergebnisse in ein array von hashes wie diese:
[0] -> { :task_d => 10, :store_name=> "Koramanagala", :store_region=> "India" }
[1] -> { :task_d => 10, :store_name=> "Koramanagala", :store_region=> "India" }
[2] -> { :task_d => 10, :store_name=> "Koramanagala", :store_region=> "India" }
so, dass ich in der Lage, das array Durchlaufen und hinzufügen von mehreren Elementen, um hashes und später konvertieren Sie das Ergebnis in JSON
für meine API-Antwort. Wie kann ich dies tun?
Kommentar zu dem Problem
Siehe auch stackoverflow.com/q/20794398/165673
InformationsquelleAutor der Frage Avinash Mb | 2013-03-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
as_json
Sollten Sie verwenden
as_json
Methode wich konvertieren ActiveRecord-Objekte zu Ruby Hashes trotz seines namensserializable_hash
Können Sie auch konvertieren jedes ActiveRecord-Objekte einen Hash mit
serializable_hash
und Sie können konvertieren jedes ActiveRecord-Ergebnisse in ein Array mitto_a
, also für dein Beispiel :Und wenn Sie möchten, eine hässliche Lösung für Schienen vor der v2.3
InformationsquelleAutor der Antwort hdorio
Werden kann?
Wenn Sie brauchen, Symbole, Tasten:
InformationsquelleAutor der Antwort Elena Unanyan
Aktuelle ActiveRecord (4.2.4+) es ist eine Methode
to_hash
auf dieResult
- Objekt, das gibt ein array von hashes. Sie können dann die Karte über es und konvertieren Sie symbolisiert hashes:Finden Sie die ActiveRecord::Ergebnis-Dokumentation für mehr info.
InformationsquelleAutor der Antwort sventechie