未定义的方法`image_will_change!' 在Heroku上的CarrierWave

我有一个安装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 "publichttp://img.dovov.comtest.jpg" #works fine in development, fails in heroku 

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

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

我发现一个heroku重启命令被要求永远消除这个错误。

 heroku restart 

这可能是因为你忘了跑步:

 rake db:migrate