Ruby on rails 活动记录可以';t创建子对象,子对象始终为零

Ruby on rails 活动记录可以';t创建子对象,子对象始终为零,ruby-on-rails,activerecord,has-one,Ruby On Rails,Activerecord,Has One,我在rails中有一个名为campaign的模型,还有一个名为export class Campaign < ActiveRecord::Base has_one :export end class Export < ActiveRecord::Base belongs_to :campaign end 此代码一次又一次地为导出创建新行,因为campaign.export始终为nil 为什么我通过活动创建导出。create_export(),但是活动。导出仍然是零我猜您的

我在rails中有一个名为
campaign
的模型,还有一个名为
export

class Campaign < ActiveRecord::Base
  has_one :export
end

class Export < ActiveRecord::Base
  belongs_to :campaign
end
此代码一次又一次地为导出创建新行,因为
campaign.export
始终为
nil


为什么我通过
活动创建导出。create_export()
,但是
活动。导出
仍然是

我猜您的导出验证阻止了导出的创建。如果您调用
create\uu
且验证失败,它将拥有一份未与验证一起保存的模型副本

谢谢!我已尝试调试“导出”。在刚刚创建之后,我可以跟踪信息,但不会保存,因为模型有一个特殊的行:has_one:export,:conditions=>[“tag is?”,nil]
if campaign.export.nil?
    campaign.create_export(:tag => 'newtag')
end