rails 获取多态类的所有关联类
Posted
技术标签:
【中文标题】rails 获取多态类的所有关联类【英文标题】:rails get all associated classes of a polymorphic clas-s- 【发布时间】:2013-01-16 01:14:32 【问题描述】:我有一个像这样的多态关联(改编自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)
【问题讨论】:
【参考方案1】:如果不查看所有模型,我找不到解决方法,所以我只是调整了这个解决方案:https://***.com/a/2315469/1440599
【讨论】:
以上是关于rails 获取多态类的所有关联类的主要内容,如果未能解决你的问题,请参考以下文章