ruby-on-rails - 如何正确使用对同一模型有多个关联的工厂?

标签 ruby-on-rails ruby ruby-on-rails-3 associations factory-bot

我正在使用 Ruby on Rails 3.2.2、FactoryGirl 3.1.0 和 FactoryGirlRails 3.1.0。我有一个模型与另一个模型有两个关联:

class Article < ActiveRecord::Base
  belongs_to a_users, :class_name  => 'User'
  belongs_to b_users, :class_name  => 'User'
end

在我的工厂文件中,我有:

factory :article, :class => Article do
  title "Sample title"

  association :a_users, factory: :user
  association :b_users, factory: :user
end

通过使用上述代码,它将创建两个用户,但我希望两个关联具有相同的用户(无需创建多个用户)。我怎样才能做到这一点?

最佳答案

也许这不是最优雅的解决方案或您正在寻找的解决方案,但我要做的是在您的测试中,使用您的工厂创建一篇文章和一个用户,然后 stub a_userb_user 为您创建的用户。

关于ruby-on-rails - 如何正确使用对同一模型有多个关联的工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10614041/

相关文章:

mysql - rails 在保存到 mysql 数据库之前更改日期格式

ruby-on-rails - Gitlab ci安装报错

ruby-on-rails - 如何使用 Rspec 验证 rails 中属性的长度和数字

ruby-on-rails-3 - 使用 Active Merchant for Moneris 的 OpenSSL 错误

mysql - Rails/MySQL ActiveRecord::RecordNotUnique

ruby-on-rails - rails 5 : WebRTC video conferencing

javascript - Rails 操作以状态 200 运行,但未访问模板且未触发 jQuery

ruby-on-rails - Capybara 单次测试配置

ruby-on-rails - 用户的 Rails NoMethodError 但 db :migrate isn't helping -updated

ruby-on-rails-3 - 在 Rails 中为每个日志添加 session ID