在资产管道的 Ruby on Rails 指南中,它说
公共下的任何资产都将由应用程序或 Web 服务器作为静态文件提供。您应该将 app/assets 用于在提供之前必须经过一些预处理的文件。
http://guides.rubyonrails.org/asset_pipeline.html
对我来说,这意味着图像应该保存在公共目录中,因为它们可以由我的 Web 服务器静态提供,并且不需要预处理。
把你的图片放进去有什么好处assets/
吗?
在资产管道的 Ruby on Rails 指南中,它说
公共下的任何资产都将由应用程序或 Web 服务器作为静态文件提供。您应该将 app/assets 用于在提供之前必须经过一些预处理的文件。
http://guides.rubyonrails.org/asset_pipeline.html
对我来说,这意味着图像应该保存在公共目录中,因为它们可以由我的 Web 服务器静态提供,并且不需要预处理。
把你的图片放进去有什么好处assets/
吗?
资产预编译将唯一的哈希值附加到图像文件名,这允许用户获取最新版本,尽管服务器上的缓存或过期设置。当您想在网站设计中更改图像时,这很有用。
您不想/assets/images
用于不太可能更改的图像(例如用户上传)。
因为它会损害资产管道的多功能性。
通过资产管道提供图像,如果您更改资产管道(例如,将文件上传到 S3),您将不得不通过其他任务同步您的图像。
可能还有其他更深层次的原因,但这就是让我停下来的原因。
编辑:旁注:在生产中感谢资产:预编译 /assets/ 中的所有内容都将由公共提供。