web-dev-qa-db-ja.com

未定義のメソッド「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 "public/images/test.jpg" #works fine in development, fails in heroku
59
Sean Coleman

Herokuのデータベースの領収書テーブルに画像列がない可能性があります。

143
Jack Dempsey

Herokuで移行を実行した後でも、エラーは続きました。

エラーを永久に打ち消すにはheroku restartコマンドが必要であることがわかりました。

heroku restart
18
philip_kobernik

おそらくあなたが実行するのを忘れたからでしょう:

rake db:migrate
7
Eduardo Santana