获取Ruby错误“除非保存父级,否则无法调用create”

时间:2013-08-08 14:28:46

标签: ruby-on-rails ruby rake

我已阅读了几个资源,但没有找到答案的运气。我有以下代码行,它返回“除非保存父代,否则不能调用create”:

      test.entries.create!({
        :date => date,
        :volume => 15
      })

在这行代码之上,我有这个:

  1.upto(5) do |i|
    test = Test.create(
      :name => "test #{i}"
    )

这两个脚本都封装在一个大循环中。因此,脚本会创建test,然后使用testtest.entries.create!上创建一个条目。

但是,脚本失败了,因为父节点尚未保存。我理解.create!执行.new.save,因此应保存初始test。我也尝试在错误发生之前手动输入test.save而没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

你的第二段代码中的测试是什么。你的意思是Test.create?此外,是否有任何可能阻止保存发生的验证?

尝试添加创建!相反,如果有任何错误,它会引发异常。