3

Sequel と Sequel::Model で遊んでいます。

GroupItems(one_to_many)でを作成しました。

できます:

Group.new << Item.new

だがしかし:

Group.new.add_item(Item.new)

または:

Item.new.group=Group.new. 

Group主キーがないことについて文句を言います。

保存するgroupと、保存されますが、アイテムは保存されません。

すべてを再帰的に保存するにはどうすればよいですか?

4

1 に答える 1

5

Sequel by design は、オブジェクト グラフ全体を保存しません。その関連付け変更メソッドは、非常に直接的であり、多くの抽象化を提供しないように設計されています。

おそらく、nested_attributes プラグインまたは instance_hooks プラグイン (nested_attributes プラグインが内部で使用します) を使用することをお勧めします。

# nested attributes plugin
Group.new(:items_attributes=>[{}]).save

また

# instance_hooks plugin
Group.new.after_save_hook{add_item(Item.new)}.save
于 2012-02-16T21:03:45.193 に答える