ruby-on-rails - rails 工厂女孩得到 "Email has already been taken"

标签 ruby-on-rails factory-bot

这是我的工厂女孩​​代码,每次我尝试生成评论时,它都告诉我“电子邮件已经被占用”,我已经重置了我的数据库,将 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

最佳答案

我知道这是一个很老的问题,但是接受的答案已经过时了,所以我想我应该发布新的方法来做到这一点。

FactoryGirl.define do
  sequence :email do |n|
    "email#{n}@factory.com"
  end

  factory :user do
    email
    password "foobar"
    password_confirmation "foobar"
  end
end

来源:Documentation

它相当简单,这很好。

关于ruby-on-rails - rails 工厂女孩得到 "Email has already been taken",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5547730/

相关文章:

javascript - Rails ajax 关注按钮

javascript - iframe 中的 redirect_to

ruby-on-rails - 如何在没有规范框架的情况下使用 Minitest 首先测试工厂?

ruby-on-rails - FactoryBot has_many 通过关联出现 NoMethodError 'each'

ruby-on-rails - 使用子存在验证创建父子 Factory Girl

ruby-on-rails - 无法获取 rails current_page?同时使用 GET 和 POST 的方法

sql - PostgreSQL:选择一周中某一天、特定时区发生的行

ruby-on-rails-3 - 工厂女孩嵌套工厂

ruby-on-rails - 如何在创建工厂之前强制 FactoryGirl 创建父级?

ruby-on-rails - 更新 Rails 中的嵌套 fields_for 和 collection_select