ActiveRecord关联:如果has_many没有相应的belongs_to,有任何问题吗?

jpw*_*ynn 5 activerecord has-many belongs-to ruby-on-rails-3

手机有很多信息.

电子邮件地址包含许多消息.

消息要么属于电话,要么是电子邮件,要么都不属于.该belongs_to关联是可选的.

以下关联似乎适用于这些关系:

  • 手机型号 has_many :messages
  • 电子邮件模型 has_many :messages
  • 消息模型没有 belongs_to :phones, :email

这可以,还是有一些正确的方法来指定"can_belong_to"关系?

ger*_*tas 4

这是完全正确的单向关系。使用两者有时被一些纯粹主义者称为“循环依赖”,并且在使用validates_linked时可能会导致问题。

当您想从一条消息中检索电话信息时,从另一方仅使用has_many :messages可能还不够。一般来说都是为了方便。