我有一个像这样的多态关联(改编自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
有没有办法获得所有可能的 :imageable_types仅给定图片模型?
例如,要在 Product 模型中获取 has_many :quotes 类,您可以:
Product.reflect_on_association(:employees).klass
得到:# => 员工
现在我想做类似的事情:
Picture.reflect_on_association(:imageable).klass
这显然会引发异常,但我想得到类似:# => [Employee, Product]
有没有办法做到这一点?(没有尝试所有模型来查看它们是否包含 has_many :pictures)