1

Rails の初心者: Rails アプリがあり、html5 ビデオ タグを使用して 1 つか 2 つのページにビデオを配置したいと考えています。現在、Rails 3.2 と Heroku の cedar スタックを使用してアプリをデプロイしています。アプリを Heroku にデプロイするときに問題が発生しています。

.mp4 ビデオをpublic/videosに配置しました。Railsのローカル サーバーを実行すると、すべて正常に動作します。

しかし、heroku にデプロイすると、これらのビデオを含むページが読み込まれません。ログの確認

heroku logs

このエラーを示しています

ActionView::Template::Error (car_circle.mp4 isn't precompiled)

public フォルダーは Rails 3.2 アセット パイプラインに含まれていないようで、そこにあるものはすべてプリコンパイルされていないため、これはそれほど驚くべきことではありません。

ここでの私の推論が正しければ、これらのビデオをプリコンパイルできるように、パブリック/ビデオをアセット パイプラインに含める方法を知りたいです。または、これらのビデオを /public に置くべきでない場合は、それらをアセット パイプラインに正しく移動する方法についてのガイダンスも役立ちます。

皆さんが私に手を差し伸べるのに十分な情報を提供できたことを願っています. ありがとう。

4

1 に答える 1

1

追加

config.assets.paths << "#{Rails.root}/public/videos"

config/application.rbに、フォルダー /public/videos をアセット パイプラインに追加できるようにしました。これにより、動画を含むページを読み込むことができましたが、ページはまだ動画を正しく読み込みません。

これにより、アセット パイプラインへのパスが追加されました。アセット パイプラインのパスは、Rails コンソールを開いて次のように入力することで表示できます。

Rails.application.config.assets.paths

次のようなリストが表示される可能性があります。

 => ["/Users/someuser/Documents/Rails/some_app/app/assets/images", 
"/Users/someuser/Documents/some_app/app/assets/javascripts",...,
/Users/someuser/Documents/some_app/public/videos"]
于 2012-10-01T12:30:30.460 に答える