59

我有一个安装 Carrierwave 上传器的简单模型。在开发中一切正常,但我得到一个未定义的方法“image_will_change!” heroku 上的错误。

class Receipt < ActiveRecord::Base
  mount_uploader :image, ImageUploader
end

class ImageUploader < CarrierWave::Uploader::Base
  storage :fog
  def store_dir
    "receipts/saved"
  end
end

根据 Carrierwave Wiki,我也正确设置了 cache_dir。

receipt.image = File.open "public/images/test.jpg" #works fine in development, fails in heroku
4

3 回答 3

145

您在 heroku 上的数据库很可能在收据表中没有图像列。

于 2011-03-30T16:43:10.930 回答
19

即使在 heroku 上运行迁移后,错误仍然存​​在。

我发现需要一个 heroku restart 命令才能永远消除错误。

heroku restart
于 2013-04-26T19:05:45.970 回答
7

这可能是因为您忘记了运行:

rake db:migrate
于 2013-03-08T13:47:21.477 回答