6

たとえば、私は

class Order < ActiveRecord::Base
  has_many :shippings
  has_one :contact_information
  belongs_to :shop
end

Order から関連付けられたオブジェクトの配列を取得する方法。例えば

Order.associations
# [:shipping, :contact_information, :shop]
4

1 に答える 1

9
Order.reflect_on_all_associations.map(&:class_name)

リレーションのタイプをパラメーターとして渡すことができます。 Order.reflect_on_all_associations(:has_one)

ActiveRecord::Reflection::ClassMethodsについて読む

編集

オブジェクトの関連付けられたモデルについて尋ねたことに気付きました。

したがって、私がすでに示したことがあれば、次の行に沿って簡単に何かを行うことができます。

associated_models = Order.reflect_on_all_associations.map(&:class_name)
于 2014-11-19T13:53:48.937 に答える