2012-03-21 4 views
1

나는 사용자가교사가 모델이 있습니다. 교사 belongs_to 사용자 및 사용자 has_one 교사. 내가으로레일 3 - 공장 소녀 보석 - belongs_to하고 has_one 관계

Failure/Error: @teacher = Factory(:teacher) 
    ActiveRecord::RecordInvalid: 
     Validation failed: User can't be blank 

: 다음

@teacher = Factory(:teacher) 

내가 오류를받을 : 내 사양에서 교사를 만들려고 할 때

Factory.define :user do |user| 
    user.user_login "Another User" 
    user.user_role "admin" 
    user.password "foobar" 
end 

Factory.sequence :user_login do |n| 
    "person-#{n}" 
end 

Factory.define :teacher do |teacher| 
    teacher.teacher_last_name 'Last' 
    teacher.teacher_first_name 'First' 
    teacher.teacher_middle_name 'Middle' 
    teacher.teacher_birthday '01.11.1980' 
    teacher.teacher_category 'First category' 
    teacher.teacher_sex   'm' 
end 

: 또한 내가 공장 소녀 파일의 코드를 그게 내 선생님 belongs_to 사용자에게 공장에 말하지 않기 때문에 일어나는 것을 이해합니다. 내가 어떻게 고칠 수 있니?

답변

6

당신은 연결을 정의해야합니다 :

Factory.define :teacher do |teacher| 
    ... 
    teacher.user 
end 

공장 소녀 wonderful tutorial을 가지고, 당신이 그것을보고하는 것이 좋습니다.

P. 왜 이상한 접두사 (user_, teacher_)를 모델 속성에 추가하겠습니까? 아주 못생긴 것처럼 보입니다. 그래서 당신은 틀린 일을 분명히합니다.

+0

'user_'와'teacher_'로 컬럼 이름의 접두사를 쓸 필요가 없다고 동의했다. –

관련 문제