我想通過關聯在has_many中設置一個默認值。ActiveRecord:通過在表中設置默認值
可以說我有三個型號:
人民
朋友
狗
一個人可以請求狗成爲他們的朋友。
所以一個人會創建一個關聯,朋友的活動列= false。
User
has_many :friends
has_many :dogs, :through => :friends
現在,當我給你一隻狗給用戶
User.find(1).dogs << dog
的朋友表在活躍列空。
我的朋友模型定義爲
Friend
def initialize(args = {})
super(args)
active = false
end
然而,這不起作用,因爲永遠不會創建的朋友的對象。我是否必須手動創建一個?
我不認爲這是可能的,你的情況,有一個'dog'而無需'friend'。 – 2010-05-12 01:22:07
保存用戶對象時會發生什麼? – Fred 2010-05-12 02:04:40
不正確的理解。我想創建一隻狗和一個朋友,但我希望朋友的主動標誌設置爲false。發生保存時,朋友的活動標誌將被設置爲空。我可以將數據庫中的默認值設置爲false,但是正在尋找ruby解決方案。另外,我只是不正確地做模型?是否有不同的模式來進行這些主動/非主動關係,比如雙方都必須批准的友誼? – 2010-05-12 06:08:04