2013-11-04 13 views
5

Uso Rails 3.2.13 ottengo diversi percorsi di asset per asset_path seconda che si tratti o meno io uso .css.sass o semplicemente .css è questo attesi?Diversi Digest Asset seconda css.sass o css

Per esempio, se ho solo un app/assets/stylesheets/foo.css.sass nella mia directory foglio di stile e nient'altro, se accidentalmente uso un asset_path con la versione sass ottengo un file che non esiste:

Loading production environment (Rails 3.2.13) 
irb(main):001:0> helper.asset_path "foo.css.sass" 
=> "/assets/foo-b148cf064a02aef053d2902b6a1fa5a9.css" 

Utilizzando asset_path con un solo plain css produce il percorso corretto.

irb(main):002:0> helper.asset_path "foo.css" 
=> "/assets/foo-1b1fbb65d54bbc52b702c0f1d2efcc38.css" 

Solo foo-1b1fbb65d54bbc52b702c0f1d2efcc38.css viene generato quando ho eseguito rake assets:precompile. Qualcuno sa da dove viene il diverso valore hash?

risposta

0

Risposta rapida: Penso che il valore di hash sia generato dall'ultimo mtime dei file compilati.

Risposta lunga: Ho cercato e non posso confermarlo, ma credo di aver letto che questa stringa di tipo hash viene generata dall'ultimo mtime di tutti i file che si desidera compilare.

Quindi la mia ipotesi è foo.css è più recente di foo.css.sass e così che mtime vince quando precompilare.

Se si desidera approfondire ulteriormente, l'ho tracciato su un metodo digest_path all'interno di digest_for.