静态视频的资产与公共

时间:2014-02-24 22:43:29

标签: ruby-on-rails video ruby-on-rails-4 html5-video asset-pipeline

我的rails应用程序中有静态视频。我有两份副本:一份存储在assets/videos,一份存储在public。出于某种原因,存储在assets文件夹中的视频加载速度比存储在public文件夹中的视频慢得多。

  1. 有谁知道为什么?
  2. 最佳做法是什么?将它放入public
  3. 是不好的做法

2 个答案:

答案 0 :(得分:2)

  

有谁知道为什么?

因为public文件夹是第一个提供传入请求的地方。如果在该文件夹中找不到该文件夹​​/文件,它将被转发到rails。

  

最佳做法是什么?把它公之于众是不好的做法吗?

这取决于。如果您想使用跟踪功能,例如使用assets_path访问视频文件夹,或者可能就像使用某些rails脚本将视频从一种格式转换为两种格式,或者您希望将视频限制为某些国家/地区或用户/用户,那么您应该放置NOT put在public文件夹中。 就是这样。

答案 1 :(得分:1)

  

如果您想利用,则仅需要资产目录   资产管道。资产管道处理来自的东西   压缩和编译.coffee和.less或sass文件到   将你的js和css压缩成一个文件,这样你的网络服务器才有   为每个文件提供一个文件。

     

使用“rake task bundle exec rake assets:precompile”编译资产时,无论如何都会将它们移动到您的公共目录

检查此评论https://stackoverflow.com/a/8581316/1231365

因此,最好将视频保存在公共文件夹中。