0

私はCarrierwaveをかなり標準的な方法で使用して、ロゴ、ポスター、ユーザー画像などの画像ファイルのアップロードを管理しています。

新規または編集時に問題なく画像をアップロードできることがわかりました。私はHerokuを使用しているため、プロダクションとステージングでASWS3を使用する必要があります。これを処理するために、アップローダーファイルにスイッチがあります。

if ['development', 'test'].include?(Rails.env)
  storage :file
else
  storage :fog
end

これは開発ではうまく機能しますが、ユーザーがファイルを添付せずにモデルからレコードを編集しようとすると、本番環境に切り替えると、すべてが停止してタイムアウトになります。

ストレージをに変更することで、開発時にこれを複製することもできます:fog

私は検索しましたが、実際に私が見ているものに非常に近いものに出くわしました:6841798

うまくいけば、誰かがこれを以前に見たことがあり、いくつかの光を当てることができます。

4

2 に答える 2

0

attr_accessible remote_poster_urlモデルからを削除し、コメントアウトすることで、この問題を修正することができまし た。

= f.input :remote_poster_url, label: 'Add a poster from a URL'

これにより、ポスターのないプロジェクトを追加し、そのポスター情報を再度編集し、ポスターを追加して、ハングすることなくさらに情報を更新するすべてのケースを処理できるようになりました。

これがこの問題に遭遇する可能性のある他の誰かを助けることができることを願っています。

于 2013-03-06T21:32:49.417 に答える
0

@ベンジャミン

フォローしていただきありがとうございます。

ここにすべてのコードの要点があります。

私が言うことができるように、これはポスターなしでプロジェクトを更新するときにのみ実際に問題があります.

開発用ストレージ (image_uploader.rb の 16 行目) を :file に変更すると、ローカルで正常に動作します。

また、フォーム (edit.html.haml 行 12 ~ 23) をコメントアウトすると、正常に動作します。

これは、この投稿の感情と一致しているようですが、取引が何であるかはわかりません. 私の推測では、Fog にアップロードしようとしているときに Carrier Wave によって実行されているコールバックがあり、ファイルがマウントされていない場合、どこかで無限ループに陥ります。

あなたが私に光を当てることができることを願っています。

乾杯、

ルーク

于 2013-03-06T00:09:40.673 に答える