【发布时间】:2012-10-25 21:54:46
【问题描述】:
我是 factory_girl 的新手,并试图弄清楚如何为以下模型有效地生成工厂:
class Company < ActiveRecord::Base
has_and_belongs_to_many :tags
end
class Tags < ActiveRecord::Base
has_and_belongs_to_many :companies
validates :type , :inclusion => { :in => %w(market location) }
end
我查看了 StackOverflow 上的先前答案(包括 this one),但其中大多数已过时和/或对问题没有正确答案。有没有人可以帮助使用 Factorygirl 为这两个对象定义工厂?
更新
这就是我到目前为止的想法
FactoryGirl.define do
factory :tag do
id 448
trait :market do
type "market"
end
trait :location do
type "location"
end
name "software"
end
factory :company do
id 1234
name "Apple Inc."
factory :company_with_tags do
#setting the default # of tags for companies
ignore do
tag_count 2
end
after(:create) do |company , evaluator|
FactoryGirl.create_list(:tag , evaluator.tag_count , company: company)
end
end
end
end
【问题讨论】:
-
最佳答案实际上并没有回答这个问题......第二个接近但似乎过时了。
-
我在这里与用户和角色的工厂有同样的问题(我在两者之间有一个 habtm 关系。你找到解决方案了吗?
标签: ruby-on-rails ruby-on-rails-3 rspec factory-bot