Ich versuche, verschachtelte Assoziationen in Rails mit ActiveResource zu bekommen. Mein Beispiel ist wie folgt: Was ich habe, ist ein Flughafen mit vielen Start-und Landebahnen.Rails verschachtelte Ressourcen
Meine Show Aktion in Flughäfen Controller enthält: @airport = Airport.find (params [: id])
Als ich http://localhost/airports/2.xml ich das Stück XML erhalten nennen:
<airport>
<code>DUS</code>
<created-at type="datetime">2009-02-12T09:39:22Z</created-at>
<id type="integer">2</id>
<name>Duesseldorf</name>
<updated-at type="datetime">2009-02-12T09:39:22Z</updated-at>
</airport>
Jetzt, ich habe die Aktion
@airport = Airport.find(params[:id], :include => :runways)
Wie kann ich erreichen, dass oben genannte URL oben Laden gibt mir so etwas wie:
<airport>
<code>FRA</code>
<created-at type="datetime">2009-02-12T09:39:22Z</created-at>
<id type="integer">2</id>
<name>Frankfurt</name>
<updated-at type="datetime">2009-02-12T09:39:22Z</updated-at>
<runways>
<runway>
<id>1</id>
<name>bumpy runway</name>
</runway>
</runways>
</airport>
Und obendrein: Wenn ich habe einen Klienten mit
class Airport < ActiveResource::Base
..
end
und
class Runway < ActiveResource::Base
..
end
Wie kann ich es automatisch wie Assoziationen laden:
a = Airport.find(1)
puts a.runways.length
=> 1
Und (last but not least): Gibt es eine Möglichkeit, Daten aus dem Client zu speichern t wie:
a = Airport.find(1)
a.runways << Runway.find(1)
a.save
Vielleicht bin ich wirklich zu blind, aber ich bin fest ... Jede Idee, ist herzlich willkommen.
Dank
Matt
Haben Sie jemals die a.runways << Runway.find (1) Teil dieser Gleichung herausgefunden? – Sixty4Bit