index.html.erb内に次のコードがあります
<video width="320" height="240" controls="controls">
<source src="truffle1.mp4"/>
Your browser does not support the video tag.
</video>
Mp4ビデオファイルをどこに置くかわからないので、いくつかの場所に置きました。
次に、Railsサーバーを起動し、Chromeを使用してインデックスページを開きます。黒いビデオフレームが表示されますが、再生されません。そして新しいウィンドウでビデオを開こうとすると、[GET] "/admin/truffle1.mp4"に一致するルートがありません(adminはコントローラーの名前だけであることに注意してください)。
これはRailsルーティングの問題...
あなたが言う時 src="truffle1.mp4"
あなたはRails現在のルートからそのファイルを探すように言っています(ローカルサーバーで試している場合はおそらくlocalhost:3000/adminにいるので、探していますlocalhost:3000/admin/truffle1.mp4)。
次のように、アプリのホームからのルートを指定してみてください。src="/assets/media/truffle1.mp4"
、そしてそのディレクトリにファイルを置きます(おそらくそれを作成する必要があります)。
[〜#〜]編集[〜#〜]
@Pragnesh Vaghelaからの回答に続いて、私はなんとかそれを機能させることができました。あなたの最初の直感は正しかった。ビデオを/ assets/videosに入れたい場合は、ルーティングがありません。あなたが言う時:
<%= video_tag "truffle1.mp4", :size => "320x240", :controls => true %>
サーバーは、ルーティングされたすべてのアセットディレクトリ(デフォルトでは、スタイルシート、画像、JavaScript)でファイルを検索します。ビデオを画像に入れると、たとえば機能するはずです。/assets/videosディレクトリも検索する場合は、config /application.rbファイルに次の行を追加する必要があります。
config.assets.paths << "#{Rails.root}/app/assets/videos"
あなたはそれを言う行の下に置くことができます:
config.assets.enabled = true
私は信じている。
これがうまくいくことを願っています。
HTML5タグを作成するvideo_tagヘルパーを使用できます。ビデオファイルは、デフォルトで「public/videos」からロードされます。
<%= video_tag "truffle1.mp4", :size => "320x240", :controls => true %>