ruby-on-rails - 在不同的表上保存条目有时会失败
问题描述
我是 Rails 的新手,我想在表 A中保存一个条目,该表在创建完成后会生成一个新 id,我需要使用该新 id 在表 B上创建一个新条目。
目前,我当前的解决方案有时只能工作,发生的情况是 id 是在表 B上创建条目所必需的,我的猜测是,当我尝试在表上创建新条目时,表 A 上的条目尚未保存乙。
下面是我用来完成上述行为的代码:
class Resolvers::CreateTask < GraphQL::Function
argument :name, !types.String
argument :organization, !types.String
type Types::TaskType
def call(_obj, args, ctx)
task = Task.create!(
name: args[:name],
)
TaskOrganization.create!(
task_id: task.id
organization: args[:organization]
)
end
end
解决方案
Task
假设您在和之间具有一对一关联TaskOrganization
,在Task
模型中,添加此行
accepts_nested_attributes_for :task_organization
如果它是一对多的复数形式,:task_organizations
然后在call
上面的方法中执行此操作
def call(_obj, args, ctx)
task = Task.create!(
name: args[:name],
task_organization_attributes: { organization: args[:organization] }
)
end
试试看!
推荐阅读
- asp.net - SOAP 服务在 .Net Core 上返回结果,但不在 .Net Framework(经典)中
- flutter - “Timestamp”类型不是“DateTime”类型的子类型
- java - 以多对多关系在联接表中保存数据的问题
- node.js - 如何从 Github 运行 Proxyserver 脚本来刷新我的耳机固件
- amazon-web-services - 对 AWS Elastic Beanstalk 的 HTTPS 请求返回 net::ERR_CERT_COMMON_NAME_INVALID
- java - 无法导入包含 bean 的外部 jar
- powershell - Powershell 附加到现有对象会破坏 json 的格式
- android - 我的颤振 android 应用程序出现构建问题
- python - 汇总每小时存储桶中用户活动日志数据的活动时间
- java - 如何在 Java 中创建具有“新”值的 ENUM?