好吧,对不起这个奇怪的标题,很难概括。
我有这个基本设置
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_id
是nil
在创建时。这意味着有时它被设置,有时它不是。在不深入研究 ActiveRecord 的情况下,我最好的猜测是这是一个时间问题。