5

在过去的 2 个小时里,我一直在尝试使 HTML5 视频正常工作。有人可以告诉我我做错了什么吗?我有一个家庭控制器,它只有一个被调用的动作index,我用它来呈现主页(index.html.erb)。我的路线文件是:

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

  root :to => 'home#index'

..
..

我的 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>

我将此添加到我的“config/application.rb”文件中:

# Enable the asset pipeline
config.assets.enabled = true
config.assets.paths << "#{Rails.root}/app/assets/videos"

愚蠢的视频文件在那里。在“/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"):

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

4

1 回答 1

3

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

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

于 2013-02-15T01:21:51.157 回答