1

私はこれが幅広い質問であることを知っています.Railsアプリで最初の刺し傷をするために噛むことができるよりも少し噛んでいますが、ここにいます.

基本ステータスアプリに画像のアップロード/クロップを追加してみました。画像をアップロードして Carrierwave でトリミングするのは問題なく動作していましたが、Fog を使用して S3 にアップロードし始めた途端、問題が発生しました。

サイズが異なる画像は、S3 で問題なく終了しているように見えますが、アプリはまだ「/assets/uploads/entry/image/65/large_IMG_0035.jpg」として画像にアクセスしようとしています。

ローカルでは壊れた画像が表示されるだけですが、Heroku では全体が壊れます。

ActionView::Template::Error (uploads/entry/image/1/large_IMG_0035.jpg はプリコンパイルされていません

heroku エラーは、そこにあってはならないので、私には理にかなっています。アプリをくまなく調べましたが、何がこれを強制しているのかわかりません。誰かがうまくいくと思うコードを投稿しますか? 前もって感謝します!

説明:

明確にするために、画像は S3 に正常にアップロードされています。問題は、アプリが image_url を表示しようとしている方法です。

アプリは、実際にアップロードしている S3 パスではなく、アセット パイプラインのローカル パスを使用しています。

4

4 に答える 4

-3

あなたが何を達成したいのか正確にはわかりません。
しかし今のところ、私には2つのアイデアがあります:

  1. CDN のアセット ホストについては、 https ://devcenter.heroku.com/articles/cdn-asset-host-rails31 を参照してください。

  2. 画像をモデル関係の一部にしたい場合、私の大まかなアイデアは次
    のとおりです。画像のパスをテーブルの列に入れます。これに関する詳細については、carrierwave github サイトを参照できます (多くのドキュメントとチュートリアルがあります)。

于 2013-04-09T04:20:38.673 に答える