我在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
。
答案 0 :(得分:1)
我的猜测是,您对导出的验证阻止了导出的创建。如果您致电create_<model>
并且验证失败,则会获得未通过验证保存的模型副本