扩展Jinesh建议的帖子,整体概念可以解释为:
一个belongs_to关联性由场指向另一个表中的记录表中给出.例如,如果您想为a Person及其地址建模,则可以
class Person
has_one :address
end
class Address
belongs_to :person #Has a field person_id
end
Run Code Online (Sandbox Code Playgroud)
但是,如果你有另一个Company将使用地址的模型,你将不得不共享该字段person_id.所以你把它变成了一个addressable_id,而Person和Company都是Address模型的"可寻址"对象.所以,当你指定
class Person
has_one :address, :as => :addressable
end
Run Code Online (Sandbox Code Playgroud)
你告诉Rails每当你搜索一个人的地址时,它会addresable_id在地址表上的字段上查找.
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |