在運行我的測試時,我得到此錯誤:Validation failed: User can't be blank (ActiveRecord::RecordInvalid)
。相關的代碼在這裏。當我將user
添加到用戶配置文件中時,我提出了一個循環定義(測試突然完成)。我認爲需要一個回調,但我真的很想知道在哪裏。我真的很感激幫助。 :)工廠女孩麻煩與協會/委託模型
型號/ user.rb
has_one :user_profile, dependent: :destroy, inverse_of: :user
delegate :first_name, :last_name, :sex, :birthday,
:location, :school, to: :user_profile
型號/ user_profile.rb
belongs_to :user, inverse_of: :user_profile
validates :user, presence: true
factories.rb
factory :user do
user_profile
end
factory :user_profile do
first_name Faker::Name.first_name # everything works, I put in the data already.
# ?????
end
嗨感謝您的回答,但是當我從刪除'user_profile'了'如果你使用了代理那麼它user_profile_sex而不是user'I得到'委託給user_profile.sex用戶#性別,但user_profile是nil' –
user_profile.sex 使用此user_profile.try(:sex)或檢查它之前的條件,如user_profile.present? – Dheer