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

  1. 有谁知道为什么?
  2. 最佳实践是什么?把它放进去是不是不好的做法 public?
有帮助吗?

解决方案

有谁知道为什么?

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

最佳实践是什么?将其公开是一种不好的做法吗?

这取决于。如果您想使用 Rails 功能,例如访问视频文件夹 assets_path 或者可能就像使用一些 Rails 脚本将视频从一种格式转换为两种格式,或者您希望将视频限制为某些国家或人员/用户,那么您应该不放入 public 文件夹。就这样。

其他提示

只需要 asset 目录 如果您想利用资产管道。 资产管道可以处理从压缩和编译。Coffee和cons.less或SASS文件以将JS和CSS压缩到一个文件中,因此您的Web服务器只需要为每个文件提供一个文件。

当您使用“raketaskbundleexecrakeassets:precompile”编译资产时,它们无论如何都会移动到您的公共目录

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top