Я пытаюсь получить голову вокруг вложенных ассоциаций в Rails с помощью ActiveResource. Мой пример выглядит следующим образом: У меня есть аэропорт со многими взлетно-посадочными полосами.Rails вложенные ресурсы
Моих шоу действий контроллера аэропортов содержит: @airport = Airport.find (Params [: ID])
Когда я называю http://localhost/airports/2.xml я получаю ту часть XML:
<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>
Теперь, Я изменил меры по
@airport = Airport.find(params[:id], :include => :runways)
Как я могу добиться того, что выше загрузка выше URL дает мне что-то вроде:
<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>
И на вершине, что: Если у меня есть клиент с
class Airport < ActiveResource::Base
..
end
и
class Runway < ActiveResource::Base
..
end
Как я могу получить его, чтобы автоматически загружать ассоциации, такие как:
a = Airport.find(1)
puts a.runways.length
=> 1
И (не в последнюю очередь): есть ли способ хранения данных из clien т, как:
a = Airport.find(1)
a.runways << Runway.find(1)
a.save
Может быть, я действительно слишком слеп, но я застрял ... Любая идея, горячо приветствуется.
Благодаря
Matt
Вы когда-нибудь выясняли, какая часть этого уравнения была выровнена. << Runway.find (1)? – Sixty4Bit