在处理Single Table Inheritance类和factory girl时,我遇到的问题是我的类没有正确设置。
我的工厂是:
factory :team do
name "Test name"
store_password 'password'
end
factory :sales_team, class: Team, parent: :team do
type 'SalesTeam'
end
factory :retail_sales_team, class: Team, parent: :team do
type 'RetailSalesTeam'
end
(我也尝试过:sales_team和:retail_sales_team嵌套在工厂里面:团队做)
在我的规范中我做了
@team = FactoryGirl.create(:retail_sales_team, name: "Test Team")
如果我再打电话
@team.class.name #=> "Team"
当我尝试将@team传递给
的对象时belongs_to :team , class_name: 'RetailSalesTeam'
我收到错误
Failure/Error: @sale = FactoryGirl.create(:sale, kpi: @kpi, user: @user, team: @team)
ActiveRecord::AssociationTypeMismatch:
RetailSalesTeam(#70151785667180) expected, got Team(#70151730184960)
如果我能提供任何其他信息并提前感谢,请告知我们。