has_one belongs_to association autosave =>真的不节约

时间:2011-03-23 09:51:01

标签: ruby-on-rails autosave

我有两个型号

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

Pref

belongs_to :board

pref对象具有在数据库中设置的默认值,因此在创建板时不需要使用信息来创建对象。电路板的ID在pref表中。

自:autosave =>我想当我创建并保存一个新的Board对象时,会自动创建并保存一个pref对象。

这不是这样的,所以我一定是误会。

有没有办法在保存电路板时自动保存pref对象?

提前谢谢

1 个答案:

答案 0 :(得分:3)

autosave => true不应为您创建元素。 docs say

  

如果为true,则始终保存关联的   如果标记为对象或销毁它   保存父母时的破坏   宾语。如果是假,永远不要保存或   销毁相关对象。

您可以在创建新pref时使用callback来创建board对象。

有些事情:

after_create :create_pref

def create_pref
  pref.create!
end