Ruby on rails Rails&;无礼

Ruby on rails Rails&;无礼,ruby-on-rails,image,asset-management,Ruby On Rails,Image,Asset Management,随着页面数量的增加,rails项目中的图像数量大大增加。有没有人有好的策略来跟踪这些图像 我们尝试了一些想法,但似乎没有什么能解决所有问题。以下是我们提出的高级别要求: 任何开发人员都可以在本地使用图像(假定他们有代码访问权限) 更新后的图像可以在部署时自动发送到AmazonS3(并发送到云端) 一种在图像更改时使其“过期”的简单方法,强制浏览器下载而不是使用缓存版本 实际上,我们部署了一个Rake任务来存档此文件,并保持应用程序和(在我们的例子中)云文件之间的所有文件同步 rake任务检查新

随着页面数量的增加,rails项目中的图像数量大大增加。有没有人有好的策略来跟踪这些图像

我们尝试了一些想法,但似乎没有什么能解决所有问题。以下是我们提出的高级别要求:

  • 任何开发人员都可以在本地使用图像(假定他们有代码访问权限)
  • 更新后的图像可以在部署时自动发送到AmazonS3(并发送到云端)
  • 一种在图像更改时使其“过期”的简单方法,强制浏览器下载而不是使用缓存版本

实际上,我们部署了一个Rake任务来存档此文件,并保持应用程序和(在我们的例子中)云文件之间的所有文件同步


rake任务检查新文件或已更改的文件,并将其上载到Cloudfiles。如果开发人员添加了一项资产,他们就可以运行rake任务并更新云。他们还将文件签入到我们的版本控制中,以便其他开发人员可以访问它。

如何强制缓存过期?有什么吗?我们的Rails应用程序通过在末尾添加?12234556时间戳自动完成。对,但是css/sass中的背景图像呢?我们使用大量的精灵而不是单个文件。是的,这是一个问题,但是如果您使用Sass,您可以实现一个函数,在编译Sass文件时添加时间戳?因此,在部署时,sass文件将编译一次,以便时间戳刷新每个deploy.Ahhh。我喜欢这样。我将进一步考虑,但我还没有考虑过这一点。