我是Ruby新手,我读到了“多态关系”。
我读到的是我的头脑。你能用简单的术语帮助我理解多态关系是什么吗?
答案 0 :(得分:5)
扩展Jinesh建议的the post,整体概念可以解释为:
belongs_to
关联由表中的字段指定,该字段指向另一个表中的记录。例如,如果您要为Person
及其地址建模,则需要
class Person
has_one :address
end
class Address
belongs_to :person #Has a field person_id
end
但是,如果您还有另一个将使用地址的模型Company
,则必须共享字段person_id
。因此,您将其设为addressable_id
,并且Person和Company都是Address模型的“可寻址”对象。所以,当你指定
class Person
has_one :address, :as => :addressable
end
你告诉Rails,无论何时你搜索一个人的地址,它都会在地址表的addresable_id
字段上查找。
答案 1 :(得分:3)
如果您能够提出难以理解的具体问题,那么社区可以解决这个问题会很好。