ruby轨道 – 钢轨工厂女孩得到“电子邮件已经被采取”

前端之家收集整理的这篇文章主要介绍了ruby轨道 – 钢轨工厂女孩得到“电子邮件已经被采取”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的工厂女孩​​代码,每次我尝试生成评论时,告诉我“电子邮件已经被使用”,我重置了我的数据库,将spec_helper中的转换设置为true,但仍然没有解决问题.我是新来的,我使用的协会错了吗?谢谢!
Factory.define :user do |user|
  user.name                  "Testing User"
  user.email                 "test@example.com"
  user.password              "foobar"
  user.password_confirmation "foobar"
end

Factory.define :course do |course|
  course.title "course"
  course.link "www.umn.edu"
  course.sections 21
  course.description "test course description"
  course.association :user
end

Factory.define :review do |review|
  review.title "Test Review"
  review.content "Test review content"
  review.association :user
  review.association :course
end

解决方法

您需要使用序列来阻止创建具有相同电子邮件用户对象,因为您必须对用户模型中的电子邮件的唯一性进行验证.
Factory.sequence :email do |n|
  “test#{n}@example.com”
end

Factory.define :user do |user|
  user.name "Testing User"
  user.email { Factory.next(:email) }
  user.password "foobar"
  user.password_confirmation "foobar"
end

您可以在Factory Girl documentation阅读更多.

原文链接:https://www.f2er.com/ruby/270934.html

猜你在找的Ruby相关文章