【发布时间】:2026-01-24 07:35:01
【问题描述】:
我已经阅读了几个资源,但没有找到答案。我有以下代码行,它返回“除非保存父级,否则您不能调用创建”:
test.entries.create!({
:date => date,
:volume => 15
})
在这行代码之上,我有这个:
1.upto(5) do |i|
test = Test.create(
:name => "test #{i}"
)
这两个脚本都封装在一个大循环中。所以脚本会创建test,然后使用test.entries.create! 在test 上创建一个条目。
但是,由于尚未保存父级,脚本失败了。我的理解是.create! 是.new 和.save,所以应该保存初始的test。我也尝试在错误之前手动输入test.save,但没有成功。有什么想法吗?
【问题讨论】:
-
第二个代码块中的
test是什么。你是说Test.create?此外,是否有任何验证可能阻止save发生?尝试将create!添加到test.create中,以便在出现任何错误时引发异常。 -
我的意思确实是
Test.create。添加创建!实际上给了我更多的信息。我最初的代码失败了,我不知道,我应该可以从这里拿走它。随时将您的评论作为答案。谢谢!
标签: ruby-on-rails ruby rake