我过去两个小时一直在尝试让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"里面。我正在使用thin服务器。现在为什么会出现这个错误?
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"):
有人能解释一下发生了什么吗?
rake routes
命令输出有关视频的部分吗?看起来你的路由直接指向了视频文件而不是home#index
。此外,在生产环境中,当你编译资源时,它应该自动获取该目录中的所有内容,所以我认为你不需要添加config.assets.paths << "#{Rails.root}/app/assets/videos"
。也许这就是问题所在? - FireDragon