为什么carrierwave导致NameError:未初始化的常量Micropost :: PictureUploader错误?

在Hartl Rails教程第13.4.1章基本图像上传中,我们为图像上传添加了carrierwave gem。

但是,在生成上传器并将迁移添加到Microposts模型后,我在测试中不断出现此错误:

NameError: uninitialized constant Micropost::PictureUploader

谷歌搜索后我能够通过添加到我的environments.rb来解决这个问题.rb:

require 'carrierwave/orm/activerecord'

但我觉得我做错了,因为Hartl没有这样做,他假设在第13.4.1节末尾你的测试应该在重启服务器后通过。

我做错了吗?

更新:

将该行添加到我的environments.rb文件后,我的测试通过了。 然后,一旦他们通过,我能够删除该线,测试继续通过。 这就像一次初始化所需的常量。

我会说我在第一次运行测试之前忘记运行rails db:migrate ,但我继续删除测试数据库,重新创建它,然后运行迁移,重启服务器并且没有修复它。

对于出了什么问题仍感到困惑。