gpt4 book ai didi

ruby-on-rails - 从 Json 创建一个 ActiveRecord 实例

转载 作者:行者123 更新时间:2023-12-04 17:36:44 25 4
gpt4 key购买 nike

在不触发任何数据库操作的情况下创建新的 Ruby/Rails 对象的最佳方法是什么?

例如,如果我有一个 Task 类

class Task < ActiveRecord::Base
has_many :tags
has_one :location

end

我想从缓存数据中创建一个看起来像这样的
task_json = { 
id: 1,
title: 'My Task',
tags: [
{ title: 'Tag1' },
{ title: 'Tag2'}
]
location: { lat: 46.0, lon: -120.1 }
}

我想重构对象,但不触发任何数据库交互。
@task = Task.new
@task.id = task_json['id']
@task.title = task_json['title']
@task.location = Location.new(:lat => task_json['location']['lat'], :lon => task_json['location']['lon'])

@task.tags = ...

理想情况下,一旦构建了对象,就没有机会以任何方式进行保存或数据库交互。

最佳答案

您可以尝试使用 JSON.parse在您的 JSON 字符串上 task_json这边走:

task = Task.new(JSON.parse(task_json))

关于ruby-on-rails - 从 Json 创建一个 ActiveRecord 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16576822/

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