Ruby on rails HTML5视频在我的rails 3应用程序中不起作用

Ruby on rails HTML5视频在我的rails 3应用程序中不起作用,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,html5-video,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Html5 Video,我试图在开发中的Rails 3应用程序中显示HTML5视频,我使用的是Sqlite3和默认Web服务器(Webrick)。我将视频文件(movie.ogg)放在资产(assets/movie.ogg)下。视频窗口屏幕显示出来,但没有视频。我有3个问题……因为Rails应用程序资产没有视频子文件夹(因为它有图像),你把视频文件放在哪里? Webrick支持Html5视频吗?下面是我的代码,我在这里缺少什么,让视频工作 看法 <video width="320" height="

我试图在开发中的Rails 3应用程序中显示HTML5视频,我使用的是Sqlite3和默认Web服务器(Webrick)。我将视频文件(movie.ogg)放在资产(assets/movie.ogg)下。视频窗口屏幕显示出来,但没有视频。我有3个问题……因为Rails应用程序资产没有视频子文件夹(因为它有图像),你把视频文件放在哪里? Webrick支持Html5视频吗?下面是我的代码,我在这里缺少什么,让视频工作

看法

       <video width="320" height="240" controls="controls">
       <source src="/assets/movie.mp4" type="video/mp4" />
       <source src="/assets/movie.ogg" type="video/ogg" />
       <source src="/assets/movie.webm" type="video/webm" />
         Your browser does not support the video tag.
       </video>

假设您的html是正确的,除非rails 3.1中的资产管道发生了重大变化,否则公用文件夹中包含的任何内容都可以从web服务器提供,因此存储视频的确切位置由您决定。根据上述来源,您应该将视频放在公共/资产中,然后确认视频正在通过访问(或视频的任何其他src url)提供服务。

资产管道用于静态资产。如果您经常向应用程序添加视频文件,则应将其放在其他位置(例如,
公共/视频
公共/系统/视频
)。如果它们确实是静态资产,请先尝试重新启动服务器。

视频标记帮助程序将构建HTML 5
标记

默认情况下,文件从public/videos加载。要从assets/videos加载,请将以下行添加到config/application.rb文件中:

config.assets.paths << "#{Rails.root}/app/assets/videos"
config.assets.path true,:autobuffer=>true)%>

要将视频作为Rails 4中的静态资源,最好的方法是使用视频标签:

只需在“资产”中创建一个名为“视频”的文件夹,并将视频存储在其中:

app/assets/videos/mycoolvideo.mp4
那么在你看来,

<%= video_tag "mycoolvideo.mp4" %>

如果需要指定大小、海报图像或添加控件,请添加(但这是HTML,不是Rails):


请注意,Rails聪明地知道图像位于图像文件夹中,因此指定名称就足够了,而无需在图像名称之前添加图像/或资产/图像/

如果要传入多个视频(或者更好地说,相同的视频具有不同的格式),请传入一个数组:

<%= video_tag ["mycoolvideo.mp4", "mycoolvideo.ogg", "mycoolvideo.webm"], size: "620x480", controls: true %>


请注意,在调整大小时,您可以使用大小:“widthxheight”(“640x360”),也可以单独使用高度:和宽度:

谢谢。但是在公用文件夹中没有资产子文件夹?您需要创建一个名为assets in Public的新文件夹。Rails除了图像、Java脚本和样式表之外没有其他默认设置。我有一个名为Video的模型,这是用户创建的,但我还需要能够在网站上嵌入视频。当我创建此配置,然后使用video_标记时,应用程序将通过video_控制器,使其在video类中查找id为=“movie”或视频文件名称的对象。你知道怎么解决这个问题吗?
<%= video_tag "mycoolvideo.mp4" %>
<%= video_tag "mycoolvideo.mp4", width: "640", height: "480", poster: "mycoolvideo.jpg", controls: true %>
<%= video_tag ["mycoolvideo.mp4", "mycoolvideo.ogg", "mycoolvideo.webm"], size: "620x480", controls: true %>