首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存/序列化/转储已删除的对象,然后再次恢复

保存/序列化/转储已删除的对象,然后再次恢复
EN

Stack Overflow用户
提问于 2016-08-28 04:52:06
回答 1查看 30关注 0票数 1

在Rails中,有没有一种方法可以保存/序列化/转储数据库表中的对象及其所有深度嵌套的关联对象,然后再次恢复它?我想在恢复之前关闭自动增量I,然后在恢复对象后重新打开自动增量?

我们的用户有时会删除他们不想要的对象,并希望看到它们被恢复。我们不能将删除的对象保留在活动数据库中,因为它们有许多关联的对象(许多belongs_to和has_many与对象的关系,而这些对象又有许多这样的关系)。

提前感谢SO社区。

EN

回答 1

Stack Overflow用户

发布于 2016-08-28 05:30:27

您可以转储与JSON (or XML)关联的对象:

代码语言:javascript
复制
user.as_json(include: { posts: {
                           include: { comments: {
                                          only: :body } },
                           only: :title } })

生成的JSON示例:

代码语言:javascript
复制
# => { "id" => 1, "name" => "Konata Izumi", "age" => 16,
#      "created_at" => "2006/08/01", "awesome" => true,
#      "posts" => [ { "comments" => [ { "body" => "1st post!" }, { "body" => "Second!" } ],
#                     "title" => "Welcome to the weblog" },
#                   { "comments" => [ { "body" => "Don't think too hard" } ],
#                     "title" => "So I was thinking" } ] }

取自as_json的上一个示例

这个post是关于解组嵌套模型的。看起来这里提供的代码将允许您通过调用以下命令来恢复具有所有关联的对象:

代码语言:javascript
复制
user = User.from_json user_with_associations_as_json_string
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39185635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档