Rails在一些标签助手中传递额外的参数

时间:2010-05-17 20:42:16

标签: ruby-on-rails

目前image_tag(“file.jpg”)会生成正常的图像html标签,但是sUT =“file.jpg **?7485793246 **”这些数字是什么以及如何禁用它们?

3 个答案:

答案 0 :(得分:2)

这些被称为资产时间戳服务器可以使用它们来缓存文件。例如,假设您的服务器上有一个名为 file.jpg 的文件,您可以将服务器设置为告诉Firefox等浏览器缓存 file.jpg 以便下一步浏览器访问您的网页的时间加快,因为 file.jpg 已经在内存中。

当您上传新的 file.jpg 时出现问题,因为即使图片不同,您缓存图片的旧用户仍会看到缓存图片,即资产时间戳来的地方发挥作用。这些数字代表文件更新时间的时间戳,因此如果用 file.jpg?987654321 替换 file.jpg?123456789 ,那么用户的浏览器将不会使用缓存版。

http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html

长话短说,它只是帮助你,并不影响文件的行为方式。用户仍然可以下载文件,操作系统会将其视为有效的.jpg。

答案 1 :(得分:1)

这就是你的开发模式,确保没有任何东西被缓存,这样如果你改变了它实际上到达浏览器的图像。生产版本没有它。

答案 2 :(得分:0)

解决,将此添加到environment.rb => ENV ['RAILS_ASSET_ID'] =''

结论:是的,它是一个很好的rails东西,但是当你处理ie6和PNG图像时,它可能会破坏你的脚本。所以要小心。