视频文件未在rails应用程序中正确加载

时间:2013-10-20 21:47:30

标签: ruby-on-rails url video hyperlink

浏览器如何通过直接输入浏览器的URL加载Rails应用程序与通过链接访问同一页面之间有区别?

当用户首次访问该网站时,我的应用程序的主页(文件:streets \ show.html.erb ---见下文)播放视频(15MB * .MOV)。但是,如果用户在应用程序中的其他位置导航,然后通过单击“主页”链接(指向root_path)返回主页,则页面将加载但视频将无法播放(事实上,它几乎就像页面一样找不到文件)。但是,如果用户刷新浏览器或通过浏览器的URL访问该页面,则视频将播放。这是代码:

Route.rb文件包含:

root  'streets#show'

venues_controller.rb文件包含:

class StreetsController < ApplicationController  
  def show
    @street = Street.find(1)
  end
end

streets \ show.html.erb文件包含:

<div class="video_pane">
  <%= video_tag(@street.video_link+".MOV", :controls => true, :autobuffer => true) %>
</div>
上面的

“。video_link”是我模型中存储视频文件名称的属性。查看Rails生成的源代码,html传递视频文件的正确名称和路径:

HTML源代码:

<div class="video_pane">

     * .MOV文件为15MB,存储在“public / videos”文件夹中。我正在使用Chrome。谢谢!

1 个答案:

答案 0 :(得分:0)

Heroku的人建议我使用Amazon S3或Cloudfront来存储媒体,因为将这个大小的文件放在assets文件夹中效率会非常低(即增加slug大小等)这解决了我的问题!