私はそのような多態的な関連性を持っています(guides.rubyonrails.comから採用):
class Picture < ActiveRecord::Base
belongs_to :imageable, :polymorphic => true
end
class Employee < ActiveRecord::Base
has_many :pictures, :as => :imageable
end
class Product < ActiveRecord::Base
has_many :pictures, :as => :imageable
has_many :employees
end
Pictureモデルのみを指定して可能なすべての:imageable_typesを取得する方法はありますか?
たとえば、Productモデルでhas_many:quotesのクラスを取得するには、次のようにします。
Product.reflect_on_association(:employees).klass
取得するには:#=>従業員
今、私は似たようなことをしたいです:
Picture.reflect_on_association(:imageable).klass
これは明らかに例外をスローしますが、次のようなものを取得したいと思います:#=> [Employee、Product]
これを行う方法はありますか?(すべてのモデルを試して、has_many:picturesが含まれているかどうかを確認する必要はありません)