0

我在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.

4

1 回答 1

1

我的猜测是您对导出的验证阻止了导​​出的创建。如果您调用create_<model>并且验证失败,它将具有未与验证一起保存的模型副本

于 2013-05-13T12:49:24.803 回答