2017-07-31 5 views
0

私は、ruby(2.2.7)とrailclick(3.2.22)でpaperclip(4.3.7)を使用してS3に画像をアップロードするプロジェクトに取り組んでいます。局所的には、すべてが魔法のように動作しますが、私はHerokuのにプロジェクトをプッシュするとき、私はこのエラーを受け取った:Paperclip未定義メソッド '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

を働くことを願っています。とにかく、助けてくれてありがとう!

0

新しいバージョンのRailsにアップデートできますか? Paperclip's github repoには、レールが4.2以上必要であることが示されています。私はあなたがペーパークリップのバグを打つかもしれないと思う。

Railsをアップグレードできない場合は、JobApplicationクラスにafter_commitメソッドを追加することを検討してください。あなたが追加しようとしているフックを見つけて、その機能を使わずに生きることができるか、再作成する必要があるかどうかを判断するには、クリップのソースコードを参照する必要があります。それは非常に重要であるかもしれないし、重要でないかもしれない。

+0

残念ながら私はできません。私はペーパークリップのバージョンをダウングレードすることができます。 –

+0

正しいURLを返さない2.7.0のバージョンで問題が発生したため、私がしていない理由があります。 –

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)

事前コンパイルは、唯一の生産モードで明示的に環境を指定する必要が行われていないので。

はまあ、私が代わりにproduction.rbファイルを、ペーパークリップの古いバージョン(2.7.0)を使用し、モデル自体にクリップの設定を移動することによって、問題を解決してきた、それは:)

関連する問題