工厂机器人-想要根据另一个属性定义一个属性

时间:2018-09-05 00:44:47

标签: ruby-on-rails factory-bot

我有以下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站点中创建的值相同?

1 个答案:

答案 0 :(得分:0)

您可以通过在user关联上传递一个明确的块来尝试:

FactoryGirl.define do
  factory :site_report_request do
    site_report
    user { create(:user, company: site_report.site.company) }
  end
end