鉴于以下情况

class User < ActiveRecord::Base
  has_and_belongs_to_many :companies
end

class Company < ActiveRecord::Base
  has_and_belongs_to_many :users
end

如何为公司和用户定义工厂,包括双向关联?这是我的try

Factory.define :company do |f|
  f.users{ |users| [users.association :company]}
end

Factory.define :user do |f|
  f.companies{ |companies| [companies.association :user]}
end

现在我试着

Factory :user

当工厂递归地使用彼此来定义自己时,这可能会导致一个无限循环,这并不奇怪.

更令人惊讶的是,我在任何地方都没有提到如何做到这一点,是有定义必要工厂的模式,还是我在做一些根本错误的事情?

推荐答案

Factorygirl已经过更新,现在包括回调来解决这个问题.更多信息请查看http://robots.thoughtbot.com/post/254496652/aint-no-calla-back-girl.

Ruby-on-rails相关问答推荐

mini_racer gem 0.8.0无法与Ruby 3.1.xBundle 安装

如何将POST-CSSS-IMPORT与TRANWIND-RACKS和IMPORT映射一起使用

带有data-turbo的rails`link_to‘未获得turbo_stream请求格式

引用连接 Rails 表中枚举的查询

我的 Ruby on Rails Web API 的 Docker 映像未在服务器上构建,因为它未与 ruby​​gems.org 连接

一对多关联 counter_cache 在 Rails 中无法正确重新加载

Ruby on Rails 更新触发了 Mailer 函数中的 ArgumentError

Ruby:如何通过谓词将一个集合拆分为 ruby​​ 中的两个集合?

如何获取 Rails 表单构建器将为某个字段生成的 HTML名称属性?

如果 URL 不存在,请将 http(s) 添加到 URL?

twitter bootstrap下拉突然不起作用

Postgres on Rails 致命:数据库不存在

mongoid 中 embeds_many 和 has_many 的区别

如何在Ruby 中对数字进行上限和舍入

您将如何在 RoR 中创建类似 SO 或 Facebook 的通知系统?

在 Ruby on Rails 中的控制器中获取 URL 的锚部分

Rails:每个环境的初始化程序?

ruby on rails 如何处理 NaN

警告:运行 ruby​​ 或 gem 命令时不安全的世界可写目录

部署后如何重启 puma?