同时创建Rails资源和嵌套资源失败,但不是系统的

时间:2013-08-29 08:25:33

标签: ruby-on-rails activerecord nested-forms nested-attributes

对不起这个奇怪的标题,很难理解。

我有这个基本设置

class Release
  has_many :batches
end

class Batch
  belongs_to :release
end

并且batches数据库表对外键release_id具有非零约束。

我有一个简单的表单,可以一次创建一个版本及其第一批:

form_for @release do |f|
  ...
  f.fields_for :batches do |ff|
    ...
  end
end

在本地和大部分时间都可以完美地运作。

在极少数情况下,创建失败,因为创建时批处理release_idnil。这意味着有时它被设定,有时它不是。如果不深入研究ActiveRecord,我最好的猜测是这是一个时间问题。