Alle Assoziationsattribute eines AR-Modells abrufen?

Was ist Ihrer Meinung nach der beste Weg, um alle Attribute für alle Assoziationen eines AR-Modells abzurufen?

das heißt: Nehmen wir an, wir haben das ModellTarget.

class Target < ActiveRecord::Base
  has_many :countries
  has_many :cities
  has_many :towns
  has_many :colleges
  has_many :tags

  accepts_nested_attributes_for :countries, :cities, ...
end

Ich möchte alle Attribute der Assoziation durch Aufrufen einer Methode für eine Zielinstanz abrufen:

target.associations_attributes
>> { :countries => { "1" => { :name => "United States", :code => "US", :id => 1 }, 
                     "2" => { :name => "Canada", :code => "CA", :id => 2 } },
     :cities => { "1" => { :name => "New York", :region_id => 1, :id => 1 } },
     :regions => { ... },
     :colleges => { ... }, ....
   }

Momentan arbeite ich daran, indem ich jede Assoziation und dann jedes Modell der Assoziation durchläuft. Aber es ist etwas teuer. Wie kann ich das Ihrer Meinung nach optimieren?

Nur eine Anmerkung: Mir ist klar geworden, dass Sie nicht anrufen könnentarget.countries_attributes aufhas_many Assoziationen mitnested_attributes, one_to_one Vereine dürfen anrufentarget.country_attributes

Antworten auf die Frage(3)

Ihre Antwort auf die Frage