3

我一直在玩 Sequel 和 Sequel::Model。

Group我用很多Items(one_to_many)创建了一个。

我可以:

Group.new << Item.new

但不是:

Group.new.add_item(Item.new)

也不:

Item.new.group=Group.new. 

它抱怨Group没有主键。

如果我 save 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 回答