我用这个问题的选定答案在 Rails 中实现了一个反向多态的示例: Reverse Polymorphic Associations
有了这个,我们可以做到以下几点:
t = Article.new
t.article_elements # []
p = Picture.new
t.article_elements.create(:element => p)
t.article_elements # [<ArticleElement id: 1, article_id: 1, element_id: 1, element_type: "Picture", created_at: "2011-09-26 18:26:45", updated_at: "2011-09-26 18:26:45">]
t.pictures # [#<Picture id: 1, created_at: "2011-09-26 18:26:45", updated_at: "2011-09-26 18:26:45">]
我想知道是否可以修改它,这样如果我这样做
t.article_elements
,我也可以看到图片的属性。例如,如果我有一个用于变量 p 的 picture_name 属性,我如何从 t.article_elements 访问它?所以基本上,我试图从子对象访问父对象的属性。