最佳實踐試想以下情況:關於空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