最佳实践试想以下情况:关于空belongs_to的关联
我有一个dog
模型和house
模型。狗可以属于一个房子,房子可以有许多狗,所以:
Class Dog < ActiveRecord::Base
belongs_to :house
end
Class House < ActiveRecord::Base
has_many :dogs
end
现在,假设我也希望创建一个没有房子的狗。他们不属于房子。我仍然可以使用这种关系结构,并且在创建它时根本不通知:house_id
?
有没有更好的做法?
Obs .:我用这个比喻来简化我的问题,但我的真实情况是:我有一个模型,用户可以生成它的实例。他还可以创建这些实例的集合,但他可以将实例留在集合之外。
yes..you可以留下''house_id'和null'当你'@ dog.house'它会返回'nil',所以你可以检查它像'如果@dog。房子'等等.. – rubyprince
为了确保它可以工作,在你的数据库中,Dog表不应该有't.integer“house_id”,:null => false'的空白部分。 – Ashitaka