gpt4 book ai didi

ruby - 如何使用 Sequel 递归保存模型?

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:54 26 4
gpt4 key购买 nike

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

我创建了一个包含许多Items (one_to_many) 的Group

我能做到:

Group.new << Item.new

但不是:

Group.new.add_item(Item.new)

也不是:

Item.new.group=Group.new. 

它提示 Group 没有主键。

如果我保存 group,它会保存但项目不会保存。

我怎样才能对所有内容进行递归保存?

最佳答案

Sequel 的设计不会保存整个对象图。它的关联修改方法设计得非常直接,没有提供太多抽象。

您可能想使用 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

关于ruby - 如何使用 Sequel 递归保存模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com