2017-07-31 48 views
0

我正在使用回形針(4.3.7)和ruby(2.2.7)和rails(3.2.22)將圖像上傳到S3的項目。在當地,一切就像一個魅力,但是當我推項目的Heroku我已經收到此錯誤:Paperclip undefined method'after_commit'

/app/vendor/bundle/ruby/2.2.0/gems/paperclip-4.3.7/lib/paperclip/has_attached_file.rb:94:in `add_active_record_callbacks': undefined method `after_commit' for JobApplication:Class (NoMethodError) 

有人有什麼可能會發生什麼想法?

回答

0

好了,我已經用回形針的舊版本(2.7.0)和移動回形針配置到車型本身來解決,而不是production.rb文件的問題。無論如何,感謝您的幫助!

0

你能否更新到較新版本的Rails? Paperclip's github repo表示它們需要導軌> = 4.2。我想你可能會在回形針中發現一個錯誤。

如果您無法升級Rails,請考慮向JobApplication類添加after_commit方法。您可能需要查看回形針源代碼,找出他們想要添加的鉤子,並決定是否可以在沒有該功能的情況下生存或需要重新創建。它可能會也可能不是非常重要。

+0

不幸的是我不能。不過,我可以降級回形針版本。 –

+0

我之所以沒有,是因爲我在使用2.7.0版本時沒有返回正確的URL。 –

0

之前推到Heroku你做了asset_precomplie?

rake assets:precompile RAILS_ENV=production 

rake assets: precompile (RAILS_ENV=production bundle exec rake assets: precompile is the exact rake task)

由於預編譯在生產模式下只進行,無需顯式地指定環境。

希望它會工作:)