簡體   English   中英

Rails 3-Factory girl gem-屬於和具有has_one關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM