[英]Rails 3 - Factory girl gem - belongs_to and has_one relation
我有用戶和教師模型。 教師belongs_to
用戶和用戶has_one
教師。 我也有工廠女孩文件中的代碼:
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
當我嘗試按照自己的規范創建老師時:
@teacher = Factory(:teacher)
然后我收到錯誤:
Failure/Error: @teacher = Factory(:teacher)
ActiveRecord::RecordInvalid:
Validation failed: User can't be blank
據我了解,發生這種情況是因為我沒有告訴Factory我的老師belongs_to
用戶。 我該如何解決?
您應該定義關聯:
Factory.define :teacher do |teacher|
...
teacher.user
end
Factory Girl有很棒的教程 ,我建議您看一下。
PS為什么要在模型屬性中添加那些奇怪的前綴( user_
, teacher_
)? 它看起來很丑陋,所以您肯定做錯了什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.