asset pipeline questions

  1. Why does an image that is known to have not changed ( a visa logo ) have 3 different versions on one server, and 4 different versions on another. These two servers are in different environments:

ls -la public/a/visa-*

-rw-r–r-- 1 rails rails 1506 2012-03-04 06:33 public/a/visa-2c267b881e96647fbf8297637daf7132.gif

-rw-r–r-- 1 rails rails 1506 2012-01-14 02:33 public/a/visa-603d00ea229b0cb010f2cd1a0a486769.gif

-rw-r–r-- 1 rails rails 1506 2012-03-13 18:34 public/a/visa-fe533b87916500d8ab2ce4a72f45b942.gif

$ ls -la public/a/visa-*

-rw-r–r-- 1 rails rails 1506 2011-12-24 19:35 public/a/visa-4506288212ff5ef40a1af89abd829294.gif

-rw-r–r-- 1 rails rails 1506 2012-03-13 01:19 public/a/visa-4559e644c6dc9eccb35fc06cf3696bef.gif

-rw-r–r-- 1 rails rails 1506 2011-09-18 15:11 public/a/visa-873a9dddb6815e34ddc6049cfb3ec7d8.gif

-rw-r–r-- 1 rails rails 1506 2012-02-26 01:23 public/a/visa-9678ba047d426c775771509f364e8590.gif

… this pattern is true for every asset I have. I thought the idea was to have the filename be based on the contents of that file.

  1. If the filename is based on the contents of the file, how does rails map <%= image_tag ‘foo.png’ %> to the assetified path that includes the hash?

  2. If the filename is supposed to be based on the contents of the file, why am I ‘precompiling’ my assets every time I deploy DURING THE DEPLOY PROCESS

– It now takes 6 minutes compile assets on my app VMs. During my deploy. The rest of my deploy takes maybe 30 seconds.

– Why isn’t the recommended pattern to compile your assets prior to deploy, check them into source control, and deploy?

Thanks!