FactoryGirl 构建的 My::Class 对象在 is_a 上 return 不正确?(My::Class)
FactoryGirl built My::Class object doesn't return true on is_a?(My::Class)
此处代码胜于文字
e = FactoryGirl.build(:company_employee)
e.class # => Company::Employee
e.is_a?(Company::Employee) # => false
这是一个错误吗? (请注意,如果我使用像用户这样的更简单的模型来执行此操作,则 returns 为真)。该错误可能来自命名空间添加吗?
类
# factories/company_employee.rb
FactoryGirl.define do
factory :company_employee, class: Company::Employee do
...
end
end
# models/company/employee.rb
class Company::Employee < Professional
...
end
尝试在工厂中将 class 名称指定为字符串:
factory :company_employee, class: 'Company::Employee' do
由于代码重新加载,您在工厂中使用的 Company::Employee
和 class 可能确实不同 class。
此处代码胜于文字
e = FactoryGirl.build(:company_employee)
e.class # => Company::Employee
e.is_a?(Company::Employee) # => false
这是一个错误吗? (请注意,如果我使用像用户这样的更简单的模型来执行此操作,则 returns 为真)。该错误可能来自命名空间添加吗?
类
# factories/company_employee.rb
FactoryGirl.define do
factory :company_employee, class: Company::Employee do
...
end
end
# models/company/employee.rb
class Company::Employee < Professional
...
end
尝试在工厂中将 class 名称指定为字符串:
factory :company_employee, class: 'Company::Employee' do
由于代码重新加载,您在工厂中使用的 Company::Employee
和 class 可能确实不同 class。