factory bot - 想根据另一个属性属性定义属性

问题描述 投票:0回答:1

我有以下User类:

class User < ActiveRecord::Base
  belongs_to :company

和以下工厂:

FactoryGirl.define do
  factory :site_report_request do
    site_report
    user(company: site_report.site.company)
  end
end

但是user(company:...正在给我一个错误。

我也尝试过:

association :user, factory: :user, company: site_report.site.company

association :user, factory: :user, company: self.site_report.site.company

这看起来非常简单,但我在文档中找不到一个例子(很容易)。如何使用户的公司与site_report网站中创建的值相同?

ruby-on-rails factory-bot
1个回答
0
投票

您可以尝试在user关联上传递显式块:

FactoryGirl.define do
  factory :site_report_request do
    site_report
    user { create(:user, company: site_report.site.company) }
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.