[英]factory_girl: has many through association
我在項目和用戶之間有很多很多的關系。 我的項目模型有:
has_many :project_members, dependent: :destroy, foreign_key: 'gallery_id'
has_many :members, through: :project_members,
class_name: 'User',
foreign_key: 'member_id'
用戶模型:
has_many :project_members, dependent: :destroy, foreign_key: 'member_id'
has_many :member_projects, through: :project_members,
source: :member_project
和project_member模型:
belongs_to :member_project, foreign_key: 'gallery_id', class_name: 'Project'
belongs_to :member, foreign_key: 'member_id', class_name: 'User'
我寫的項目工廠為:
FactoryGirl.define do
factory :project_member do
association :project
association :user
role 'owner'
end
end
但是它給了我:
> undefined method `project=' for #<ProjectMember:0x00000006f66048>
如果我寫以下內容:
FactoryGirl.define do
factory :project_member do
association :member_project, foreign_key: 'gallery_id', class_name: 'Project'
association :member, foreign_key: 'member_id', class_name: 'User'
role 'owner'
end
end
它說:
工廠未注冊:member_project
我不確定如何通過工廠對象定義多對多。
假設您有用於項目和用戶的工廠
factory :project_member do
member_project FactoryGirl.build(:project)
member FactoryGirl.build(:user)
role 'owner'
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.