web-dev-qa-db-fra.com

Méthode non définie `image_will_change! ' pour CarrierWave sur Heroku

J'ai un modèle simple qui monte un uploader Carrierwave. Tout fonctionne bien en développement, mais je reçois une méthode non définie "image_will_change!" erreur sur heroku.

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

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

J'ai également le cache_dir défini correctement selon le wiki Carrierwave.

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

Il est probable que votre base de données sur heroku ne possède pas la colonne image dans le tableau des reçus.

143
Jack Dempsey

Même après avoir exécuté la migration sur heroku, l'erreur a persisté.

J'ai trouvé qu'une commande de redémarrage heroku était nécessaire pour vaincre l'erreur à jamais.

heroku restart
18
philip_kobernik

C'est probablement parce que vous avez oublié d'exécuter:

rake db:migrate
7
Eduardo Santana