我第一次使用 mongoid,在工厂中为我的规范创建 has_many 关联时遇到问题。
场景是这样的:
我有一个小组课程:
class Group
include Mongoid::Document
field :name, :type => String
end
我有一个运动课。一个练习可以属于许多组。练习类当前定义如下:
class Exercise
include Mongoid::Document
field :name, :type => String
field :description, :type => String
has_many :groups
validates_presence_of :name, :description
end
我想使用 factorygirl 为规格创建实例。我正在努力解决如何做到这一点。
目前我的运动工厂是这样的;
FactoryGirl.define do
factory :exercise do
name "Preacher curls"
description "Do something"
after(:build) do |exercise|
exercise.groups << FactoryGirl.build(:group)
end
end
end
这会导致以下错误:
NoMethodError: undefined method `=' for #<Group _id: 4fbc6f5a26a3181742000004, _type: nil, name: "Arms">
如何正确创建练习工厂以添加 group_ids?