2011-01-28 5 views
4

私はHerokuで最初のアプリケーションを構築しており、同時にレールを使用する方法を学習しています。私は非常にシンプルなモデルを構築し、私のビルドに 'Paperclip'宝石を加えました。Herokuでペーパークリップをデバッグ

は、申し訳ございませんが、何かが間違っていた:(ファイルをアップロードしていないようですが)私はちょうど得る「新しい」フォームに、Herokuの上で展開するときしかし、私はlocalhost上で動作します。

この問題については に通知されており、まもなくそのことをご説明します。

どこでこれをデバッグするのか分からないようです。私のGemfileには宝石の「クリップ」が含まれています

答えて

2

Herokuには読み取り専用ファイルシステムがあります。つまり、PaperclipはアップロードされたファイルをHerokuのどこにも保存できません。

Herokuでホストされているアプリケーションにファイルをアップロードしたい場合は、データベース内にバイナリBLOBとしてファイルを保存するか、別のサービスを使用してファイルを保存する必要があります。別のサービスをお探しの場合、PaperclipにはAmazon S3との統合サポートが組み込まれています。

Heroku docsを参照してください。

+1

これまでの初心者の証拠。本当にありがとう。 – cjm2671

+0

Herokuには読み取り専用ファイルシステムがありません。それは[一時的なファイルシステム](https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem)を持っています。あなたはそれに書き込むことができますが、アプリがリサイクルすると一時的に破棄されます。 – Chloe

+1

@Chloe - 答えの時点で、Herokuアプリケーションは読み取り専用のファイルシステムで実行されていました。これは、あなたが言うように、一時的なファイルシステムを持つコンテナで実行されます。 – yfeldblum

0

heroku logsをコマンドラインで実行すると、アプリケーションのログファイルを取得できます。

確かにそこにあなたの答えが見つかります。

5

Herokuログが必ずしも役立つとは限りません。

あなたの目的のために、私はあなたのherokuアプリを「開発」モードに設定して、冗長なエラーメッセージを表示することをお勧めします。

heroku config # Should return a list of your current environment, including RACK_ENV=production 
heroku config:add RACK_ENV=development # now you'll get verbose error messages 
heroku config:add RACK_ENV=production # set this back when you're done debugging 

助けてください!私たちとエラーメッセージを共有し、多分もっと助けることができます。

+0

ありがとう!私はこれが必要でした。 – Ashe

関連する問題