2011-03-23 77 views
3

我有兩個型號HAS_ONE belongs_to的關聯自動保存=>真不節能

Board 
has_one :pref, :autosave => true, :dependent => :destroy 

Pref 

belongs_to :board 

把選項對象具有在數據庫中設置所以沒有信息需要被用於創建對象被創建的板時的默認值。電路板的ID在pref表中。

由於:autosave => true我認爲當我創建並保存一個新的Board對象時,會自動創建並保存一個pref對象。

這不是這樣工作,所以我必須誤解。

有一種方法可以在保存電路板時自動保存一個pref對象嗎?

預先感謝您

回答

3

autosave => true不應該爲你創建一個元素。該docs say

如果爲true,始終保存相關 對象或摧毀它,如果標記爲 破壞,保存父 對象時。如果爲false,則永不保存或破壞關聯的對象。

你可以使用一個callback當你創建一個新的board創建pref對象。

after_create :create_pref 

def create_pref 
    pref.create! 
end 
+0

感謝:

沿東西線。這清除了它。我會做到這一點。 – chell 2011-03-23 17:01:21

相關問題