我第一次使用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为specs创建实例。我正在努力解决这个问题。
目前我的运动工厂看起来像这样;
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?
答案 0 :(得分:0)
尝试添加
belongs_to :exercise
进入您的小组课程
它应该是这样的:
class Group
include Mongoid::Document
field :name, :type => String
belongs_to :exercise
end