HTML5视频和Rails 3

Tes*_*est 5 ruby html5 html5-video ruby-on-rails-3

我在过去的2个小时里一直试图让HTML5视频发挥作用.有人能告诉我我做错了什么吗?我有一个家庭控制器只有一个动作index,我用它来渲染主页(index.html.erb).我的路线文件是:

TEST::Application.routes.draw do
  get "home/index"

  root :to => 'home#index'

..
..
Run Code Online (Sandbox Code Playgroud)

我的index.html.erb文件只有这个版本:

<div class="row"> <h3>TEST </h3> </div>

<div class="row">

    <div class="span12">
        <%= video_tag("test_video_1.ogg", :size => "320x240", :controls => true, :autobuffer => true) %>
    </div>


</div>
Run Code Online (Sandbox Code Playgroud)

我把它添加到我的"config/application.rb"文件中:

# Enable the asset pipeline
config.assets.enabled = true
config.assets.paths << "#{Rails.root}/app/assets/videos"
Run Code Online (Sandbox Code Playgroud)

愚蠢的视频文件就在那里.在"/ app/assets/videos"中.我正在使用瘦服务器.现在为什么我会得到这个错误?

Started GET "/videos/test_video_1.ogg" for 127.0.0.1 at 2012-10-01 13:13:00 +0100

ActionController::RoutingError (No route matches [GET] "/videos/test_video_1.ogg"):
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下发生了什么吗?

Pau*_*tto 3

它似乎video_tag会在您的公共文件夹下查找内容,因此您有两个选择。将您的视频放在 public/videos 下,并从资产路径中删除额外的路径,或者手动编写指向“assets/test_video_1.ogg”的视频标签。(注意这里缺少“视频”)

http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-video_tag