模型用户:
class User < ActiveRecord::Base
enum my_enum: [
:some_value1,
#....
]
我还有一个向用户添加my_enum
的迁移:
def change
add_column :users, :my_enum, :integer
end
FactoryGirl的夹具:
FactoryGirl.define do
factory :user do
email { Faker::Internet.email }
password { Faker::Internet.password(10) }
password_confirmation { password }
my_enum { nil }
end
end
一切正常。但是当我进行测试时,我收到一个错误:
Failure/Error: paid_user = FactoryGirl.create(:user)
ActiveModel::MissingAttributeError:
can't write unknown attribute `my_enum`
答案 0 :(得分:5)
听起来您的测试数据库尚未正确迁移。 尝试运行以下命令:
bundle exec rake db:migrate RAILS_ENV=test
..然后尝试再次运行rspec。