Active Record无法创建孩子,孩子总是零

时间:2013-05-13 12:45:18

标签: 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

然后我有代码:

if campaign.export.nil?
    campaign.create_export(:tag => 'newtag')
end

此代码会一次又一次地为导出创建新行,因为campaign.export始终为nil

为什么我按campaign.create_export()创建了导出,但campaign.export仍为nil

1 个答案:

答案 0 :(得分:1)

我的猜测是,您对导出的验证阻止了导​​出的创建。如果您致电create_<model>并且验证失败,则会获得未通过验证保存的模型副本