想象一下以下情况:
我有一个 dog
模型和一个 house
模型。一只狗可以属于一个房子,一个房子可以有很多狗,所以:
Class Dog < ActiveRecord::Base
belongs_to :house
end
Class House < ActiveRecord::Base
has_many :dogs
end
现在,想象一下我也想创造没有房子的狗。他们不属于房子。我是否仍然可以使用该关系结构并且在创建它时根本不通知
:house_id
?有没有更好的做法?
观察:我用这个比喻来简化我的问题,但我的真实情况是:我有一个模型,用户可以生成它的实例。他还可以创建这些实例的集合,但他可以将实例留在集合之外。
最佳答案
我认为这是绝对正常的方法。
对于不属于其他模型的模型,您可以在数据库中保留 house_id
和 null
值。
关于ruby-on-rails - 关于空的belongs_to 关联的最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10462676/