-
20-12-2019 - |
题
我的 Rails 应用程序中有一个静态视频。我有两份:一个存储在 assets/videos
和一个存储在 public
. 。由于某种原因,视频存储在 assets
文件夹加载速度比存储在文件夹中的视频慢得多 public
文件夹。
- 有谁知道为什么?
- 最佳实践是什么?把它放进去是不是不好的做法
public
?
解决方案
有谁知道为什么?
因为 public
文件夹是第一个处理传入请求的地方。如果在该文件夹中找不到该文件夹/文件,它将被转发到rails。
最佳实践是什么?将其公开是一种不好的做法吗?
这取决于。如果您想使用 Rails 功能,例如访问视频文件夹 assets_path
或者可能就像使用一些 Rails 脚本将视频从一种格式转换为两种格式,或者您希望将视频限制为某些国家或人员/用户,那么您应该不放入 public
文件夹。就这样。
其他提示
只需要 asset 目录 如果您想利用资产管道。 资产管道可以处理从压缩和编译。Coffee和cons.less或SASS文件以将JS和CSS压缩到一个文件中,因此您的Web服务器只需要为每个文件提供一个文件。
当您使用“raketaskbundleexecrakeassets:precompile”编译资产时,它们无论如何都会移动到您的公共目录
检查这个评论 https://stackoverflow.com/a/8581316/1231365
因此,最好将您的视频保存在公共文件夹中。
不隶属于 StackOverflow