浏览器如何通过直接输入浏览器的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。谢谢!
答案 0 :(得分:0)
Heroku的人建议我使用Amazon S3或Cloudfront来存储媒体,因为将这个大小的文件放在assets文件夹中效率会非常低(即增加slug大小等)这解决了我的问题!