0

사용자를 데이터베이스에 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 그래서 레일이 자동으로 나는 그것을 좋아하지 않아 usermodel

+0

contact_id을 넣어 사용한다, 그러나 그것은 작동합니다. 나는 C# (LINQ, EF)에서 부모 모델이 DB에 커밋 될 때 하위 모델이 부모 ID로 자동 업데이트되는 데 익숙하다. 감사! –

관련 문제