构建与FactoryGirl具有多态关联的记录

时间:2014-11-27 06:18:44

标签: ruby-on-rails factory-bot

我想知道为什么在使用FactoryGirl构建记录时出现错误。

Comment模型通过多态关联属于usercommentable

我的工厂看起来像这样:

FactoryGirl.define do
  factory :comment do
    text "Some text"
    user_id 1
    association :commentable, factory: :feedback
  end
end

当我使用FactoryGirl构建comment记录时,我得到:

ActiveModel::MissingAttributeError:
can't write unknown attribute `commentable_type'

在控制台中创建和操作Comment对象没有问题。我可以自由设置和保存commentable_type属性。此外,commentable_type表中已存在comments

有关错误发生原因的任何想法?

1 个答案:

答案 0 :(得分:1)

我使用rake db:reset再次运行了所有迁移,现在错误消失了。在此之前,我尝试回滚相关的迁移并再次迁移,但这没有做任何改变。

我仍然不知道是什么导致了这个错误,但是现在,它已经修复了。