ruby-on-rails - Factory_girl 使用#create_list,在所有创建的对象之间共享相同的关联

标签 ruby-on-rails ruby factory-bot

考虑以下关联:

class Blog < ApplicationRecord
  belongs_to :user
  belongs_to :foobar
end

class User < ApplicationRecord
  has_many :blogs
end

class Foobar < ApplicationRecord
  has_many :blogs
end

到目前为止,这是我的工厂:

FactoryGirl.define do
  factory :blog do
    user
    foobar
  end
end

FactoryGirl.define do
  factory :user do
  end
end

FactoryGirl.define do
  factory :foobar do
  end
end

这就是我想要做的:我想使用 create_list 创建 5 个博客。但是:我希望所有博客都关联到相同的user记录和相同的foobar记录。换句话说:我希望所有 5 个博客都具有完全相同user_idfoobar_id

我确实浏览了 factory_girl docs 。这个具体的场景让我很困惑。

最佳答案

您应该能够像其他属性一样分配关系。例如:

user = create(:user)
foobar = create(:foobar)
blogs = create_list(:blog, 5, user: user, foobar: foobar)

关于ruby-on-rails - Factory_girl 使用#create_list,在所有创建的对象之间共享相同的关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38062726/

相关文章:

ruby - 如何在 Ruby 中创建可调用属性

ruby-on-rails - 如何使用 fabrication in rails 编写 factory_girl create 命令

ruby-on-rails - 发现 Invalid Record factory girl 中的错误

rspec - FactoryGirl 与 has_one 和 Beings_to 关联的问题

ruby-on-rails - 在功能场景中使用 VCR 和 Rspec

ruby-on-rails - 在 Rails datetime_select 中将日期/时间留空

ruby-on-rails - 我的抓取 "stack"应该如何处理 404 错误?

ruby-on-rails - Paperclip::Errors::MissingRequiredValidatorError 与 Rails 4

ruby-on-rails - Heroku 上的夜间批处理网络任务

ruby-on-rails - 抢购分类单元和 child 分类单元的所有产品