【问题标题】:Why am I getting an initialized Carrierwave uploader error when I migrate the database on Heroku为什么我在 Heroku 上迁移数据库时收到初始化的 Carrierwave 上传器错误
【发布时间】:2012-05-17 10:51:34
【问题描述】:

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

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

Activity 是一个包含

的模型

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 上收到此错误?

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

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我能想到的可能性:

    1. 此文件未添加到您的 git 存储库(但在本地存在)
    2. 您需要将以下代码添加到您的自动加载路径中
    3. 类似这个问题 (https://github.com/jnicklas/carrierwave/issues/399)

    注意,您不应该这样做:

    config/application.rb

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

    【讨论】:

    • 谢谢杰西,你是对的。发布此问题后,开始出现许多其他问题。我最终在我跟踪的文件中发现了一些不一致的地方。修复回购解决了这个问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    相关资源
    最近更新 更多