0

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

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

Route.rb 文件包含:

root  'streets#show'

场地控制器.rb 文件包含:

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

street\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。谢谢!

4

1 回答 1

0

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

于 2014-02-21T20:06:56.863 回答