我已阅读了几个资源,但没有找到答案的运气。我有以下代码行,它返回“除非保存父代,否则不能调用create”:
test.entries.create!({
:date => date,
:volume => 15
})
在这行代码之上,我有这个:
1.upto(5) do |i|
test = Test.create(
:name => "test #{i}"
)
这两个脚本都封装在一个大循环中。因此,脚本会创建test
,然后使用test
在test.entries.create!
上创建一个条目。
但是,脚本失败了,因为父节点尚未保存。我理解.create!
执行.new
和.save
,因此应保存初始test
。我也尝试在错误发生之前手动输入test.save
而没有运气。有什么想法吗?
答案 0 :(得分:2)
你的第二段代码中的测试是什么。你的意思是Test.create?此外,是否有任何可能阻止保存发生的验证?
尝试添加创建!相反,如果有任何错误,它会引发异常。