STI和Factory Girl Rails的问题

时间:2015-07-14 07:07:46

标签: ruby-on-rails factory-bot rspec3

在处理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)

如果我能提供任何其他信息并提前感谢,请告知我们。

0 个答案:

没有答案
相关问题