0

好吧,对不起这个奇怪的标题,很难概括。

我有这个基本设置

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 的情况下,我最好的猜测是这是一个时间问题。

4

1 回答 1

0

我要试试这个解决方案:https ://rails.lighthouseapp.com/projects/8994/tickets/4599-validations-on-nested-attributes-fail-on-nil-foreign-key-on-object-creation

于 2013-08-29T08:34:28.340 回答