13

在资产管道的 Ruby on Rails 指南中,它说

公共下的任何资产都将由应用程序或 Web 服务器作为静态文件提供。您应该将 app/assets 用于在提供之前必须经过一些预处理的文件。

http://guides.rubyonrails.org/asset_pipeline.html

对我来说,这意味着图像应该保存在公共目录中,因为它们可以由我的 Web 服务器静态提供,并且不需要预处理。

把你的图片放进去有什么好处assets/吗?

4

2 回答 2

10

资产预编译将唯一的哈希值附加到图像文件名,这允许用户获取最新版本,尽管服务器上的缓存或过期设置。当您想在网站设计中更改图像时,这很有用。

您不想/assets/images用于不太可能更改的图像(例如用户上传)。

于 2012-06-08T17:21:03.640 回答
4

因为它会损害资产管道的多功能性。

通过资产管道提供图像,如果您更改资产管道(例如,将文件上传到 S3),您将不得不通过其他任务同步您的图像。

可能还有其他更深层次的原因,但这就是让我停下来的原因。

编辑:旁注:在生产中感谢资产:预编译 /assets/ 中的所有内容都将由公共提供。

于 2012-06-08T16:48:17.097 回答