Ich habe derzeit eine harte Zeit, eine Lösung für ein Problem in einem Ruby on Rails-Projekt zu finden.Abfrage Ergebnis mit Baum der referenzierten Objekte - Ruby on Rails
Ich habe folgende Modellstruktur:
class Room < ActiveRecord::Base
has_many :photos
end
class Photo < ActiveRecord::Base
belongs_to :room
has_many :points
end
class Point < ActiveRecord::Base
belongs_to :photo
end
Ich möchte die Datenbank abzufragen, so dass ich etwas, das als JSON gemacht würde diese Struktur haben:
{
"rooms" :
[
//room 1
{
"id": 1,
"param1": "dummy",
"photos":
[
{
"id": 3,
"title": "test photo",
"points":
[
{"id": 1, "text": "test point"},
{"id": 2, "text": "test point"}
]
}
]
},
//room 2
{
"id": 2,
// ...
}
]
}
Grundsätzlich möchte ich um eine Abfrage zu erstellen, die alle Informationen in allen Modellen zurückgibt, die nach den Beziehungen der Modelle strukturiert sind.
Ich suchte nach ein paar Stunden und kann keine einfache Lösung für diese finden ... (nicht einmal eine komplizierte). Ich weiß nicht, ob ich nicht die richtigen Suchbegriffe für mein Problem, aber ich konnte wirklich nichts finden, was funktioniert ...
Für eine Teillösung (um nur Zimmer und Fotos zu bekommen), ich dies versucht:
Room.all.includes(:photos)
Von dem, was ich fand, dachte ich, es die Lösung sein könnte, aber es gibt nur die Informationen über die Zimmer, nicht die Fotos, so wahrscheinlich ist dies eine völlig andere Herangehensweise an das, was ich brauche .
Ich aktualisierte meine Antwort mit Ihre vorgeschlagene Bearbeitung, wenn Sie sie akzeptieren möchten –