2014-04-01 18 views
0

我正在創建聯繫人& DB中的用戶seed.rb。使用下面的代碼,聯繫人被保存,但子女用戶不是。我錯過了什麼?我嘗試過使用和不使用if聲明,並且用戶從不保存。在種子期間未保存子模型

模式

class Contact < BaseModel 
    #... 
    has_one :user 
end 

class User < BaseModel 
    #... 
    belongs_to :contact 
end 

種子

contact = Contact.where({ 
    :first_name => "Some", 
    :last_name => "Person", 
    :email  => "[email protected]", 
    :zip  => "12345"}).first_or_initialize 
contact.build_user if contact.user == nil 
contact.save! 

回答

2

如果您contact不存在,那麼它會不會把contact_id在用戶模型。

你應該先savecontact或使用existing所以軌道會自動把contact_idusermodel

+0

我不喜歡它,但它的作品。我習慣於C#(LINQ,EF),其中父代被提交給數據庫時,子模型會自動更新其父代的ID。謝謝! –

相關問題