当我在Heroku上迁移数据库时,为什么会出现初始化的Carrierwave上传器错误

时间:2012-05-17 10:51:35

标签: ruby-on-rails

我正在尝试将Carrierwave的Rails应用程序部署到Heroku。

当我运行heroku run rake db:migrate --app myapp时,我得到rake aborted! uninitialized constant Activity::IconUploader

活动是一个包含

的模型

mount_uploader :icon, IconUploader, :mount_on => :icon_file_name

我有一个文件app / uploaders / icon_uploader.rb,其中包含

class IconUploader < CarrierWave::Uploader::Base
  more or less default content
end

我有config / initializers / carrierwave.rb,它定义了用于在Amazon S3上存储文件的雾凭证,并将缓存目录设置为tmp,允许Carrerwave在Heroku上工作。

上传器完全适用于我当地的开发环境。

为什么我在Heroku上收到此错误?

我可以采取哪些步骤来追踪来源?

1 个答案:

答案 0 :(得分:1)

我可以提出的可能性:

  1. 此文件未添加到您的git存储库(但存在于本地)
  2. 您需要将以下代码添加到自动加载路径
  3. 像这个问题(https://github.com/jnicklas/carrierwave/issues/399)
  4. 注意,你不应该这样做:

    <强>配置/ application.rb中

    config.autoload_paths += %W(#{config.root}/app/uploaders)