想象一下以下情况:

我有一个 dog 模型和一个 house 模型。一只狗可以属于一个房子,一个房子可以有很多狗,所以:

Class Dog <  ActiveRecord::Base
  belongs_to :house
end

Class House < ActiveRecord::Base
  has_many :dogs
end

现在,想象一下我也想创造没有房子的狗。他们不属于房子。我是否仍然可以使用该关系结构并且在创建它时根本不通知 :house_id

有没有更好的做法?

观察:我用这个比喻来简化我的问题,但我的真实情况是:我有一个模型,用户可以生成它的实例。他还可以创建这些实例的集合,但他可以将实例留在集合之外。

最佳答案

我认为这是绝对正常的方法。

对于不属于其他模型的模型,您可以在数据库中保留 house_idnull 值。

关于ruby-on-rails - 关于空的belongs_to 关联的最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10462676/

10-13 02:17