可能重复:
How to make has_many :through association with fixtures?
我尝试使用FactoryGirl来构建我的测试数据。但我不知道如何建立多对多的协会。
最后,我google-copy-paste一个片段:
factory :tagging do
question { |a| a.association(:question) }
tag { |a| a.association(:tag) }
end
(通过标记问题has_many标签,反之亦然)
效果很好。但是这个奇怪的语法是什么?当我在属性名称后放置一个块时会发生什么?官方自述文件没有告诉我。
有人可以帮忙吗?
答案 0 :(得分:0)
正如您所描述的,tagging
模型至少包含两列:question_id
和tag_id
。您可以手动设置它们,但在此之前应创建新对象。 FactoryGirl
通过其关联功能为您完成。它创建新对象(您将该对象的工厂指定为关联函数中的参数),获取其ID并将其设置为适当的字段。