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)
有人可以解释一下发生了什么吗?
它似乎video_tag会在您的公共文件夹下查找内容,因此您有两个选择。将您的视频放在 public/videos 下,并从资产路径中删除额外的路径,或者手动编写指向“assets/test_video_1.ogg”的视频标签。(注意这里缺少“视频”)
http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-video_tag