Undefined method `image_will_change!' for Carr

2019-03-08 22:54发布

问题:

I have a simple model that mounts a Carrierwave uploader. Everything works fine in development, but I get an undefined method "image_will_change!" error on heroku.

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

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

I have the cache_dir set appropriately as well according to the Carrierwave Wiki.

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

回答1:

It's likely that your db on heroku doesn't have the image column in the receipts table.



回答2:

Even after running the migration on heroku, the error persisted.

I found that a heroku restart command was required to vanquish the error forever.

heroku restart


回答3:

It's probably because you forgot to run:

rake db:migrate