2012-03-19 17 views
6

Dire in vendor/assets Ho due sottodirectory, e /beta, ognuna con un file denominato temp.jpg. Per quanto ne so, viene fatta una richiesta GET per /assets/temp.jpg, e sono abbastanza sicuro che quello della directory alpha sia servito. Ma come faccio a distinguere tra loro due? Penso che si possa fare con l'helper asset_url ma non ne sono sicuro - se qualcuno può consigliarlo sarebbe bello.Rails - Asset pipeline - identifica la risorsa per directory

risposta

1

Dal manuale:


È possibile visualizzare il percorso di ricerca ispezionando Rails.application.config.assets.paths nella console Rails.

Ulteriori percorsi (pienamente qualificati) possono essere aggiunti alla pipeline in config/application.rb. Ad esempio:

config.assets.paths << Rails.root.join("app", "assets", "flash") 

pignoni anche guardare attraverso i percorsi specificati in config.assets.paths che comprende i percorsi delle applicazioni standard e qualsiasi percorso aggiunta da motori Rails.

Le immagini possono anche essere organizzati in sottodirectory, se necessario, e si può accedere specificando il nome della directory nel tag:

<%= image_tag "icons/rails.png" %> 

Se si utilizza la pipeline di asset, sono non sono sicuro quale delle tue immagini sarebbe fornita da un link che non specifica l'url, se presente. Se ne viene fornito uno, si avrà a che fare con l'ordine in cui Sprockets legge ricorsivamente tali directory. Se li legge in ordine alfabetico, l'immagine "beta" verrà pubblicata. Oppure sarà casuale, non sono sicuro di come i pignoni leggono le directory.

Sarà meglio inserire un percorso esplicito. Se stai facendo una sorta di test, come se volessi far apparire le immagini beta, ti consiglio una sorta di approccio parametrico in modo da poter passare "alpha" o "beta" al tuo percorso.

Problemi correlati