我使用 RailsCasts 的 Carrierwave教程来上传和显示我的图像,现在我想使用CarrierWaveDirect让图像直接上传到 S3 ,但是“未初始化的常量 ImageUploader::CarrierWaveDirect”这个错误显示。(我真的不知道仅使用 CW 将图像存储在哪里,但我猜是在应用程序内部)
在 Railscasts 版本之后,
- 我安装了 gem 'carrierwave_direct' 和 'fog'
- 我在 config/initializers 中创建了一个 carrierwave.rb 文件(不确定这是否是正确的位置或正确的文件名,因为 CarrierWave 中的自述文件提到了有关 lib/carrierwave/storage/fog.rb 的内容)
- 我将 image_uploader.rb 中的“storage:file”更改为“include CarrierWaveDirect::Uploader”
- 在表单视图中,我将“form_for”更改为“direct_upload_form_for”
我还需要改变什么吗?我也不太明白原始 CW 自述文件中的“确保在加载 ORM 后加载 CarrierWave,否则您需要手动要求相关扩展,例如:需要 'carrierwave/orm/activerecord'”。
我只是对我需要做什么感到困惑,因为原始的 CarrierWave 和 CW_direct 自述文件都提到了 S3 上传,而我陷入了两者都给出的两个方向之间......
谁能帮我理解什么是错的,为什么它说'未初始化的常量 ImageUploader::CarrierWaveDirect'?我也有一个关于不真实的错误,我假设它与 Devise 有关 - 是因为图像被附加到由 Devise 生成的用户并且我需要配置一些东西吗?