2013-05-13 37 views
0

我在轨道称为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

我的猜测是,你的出口验证阻止了出口的创建。如果您拨打create_<model>并验证失败,它将有一个未保存验证的模型副本

+0

谢谢!我试图调试“导出”。 刚创建后,我可以跟踪信息,它不会被保存,因为该模型有一个特殊的线: has_one:export,:conditions => [“标记IS?”,无] – twindai 2013-05-15 08:32:21