Ruby on Rails: spojeni stylů a javascriptů do jednodho souboru
Při načítání javascriptu nebo kaskádových stylů můžete velmi jednoduše dosáhnout toho, aby se načítal pouze jeden soubor, namísto několika, ve kterých jsou styly nebo skripty rozděleny.
Pokud používáte načítání javascriptu klasicky přes
javascript_include_tag (stejně tak styly pomocí stylesheet_link_tag), zapisujete jej následně:
1 |
<%= javascript_include_tag('prototype', 'effects','tabs') %> |
V renderu dostanete potom klasický výstup:
1 2 3 |
<script type="text/javascript" src="/javascripts/prototype.js"></script> <script type="text/javascript" src="/javascripts/effects.js"></script> <script type="text/javascript" src="/javascripts/tabs.js"></script> |
Jednoduše můžeme dosáhnout toho, aby byl javascript načten pouze jako jeden soubor, a ne jako skupina několika souborů, použitím operátoru :cache:
1 |
<%= javascript_include_tag('prototype', 'effects','tabs', :cache => 'cache/jscript') %> |
V renderu bude existovat pouze jeden javascriptový soubor pod adresou /cache/jscript.js v adresáři s javascriptem. Tento soubor bude v adresáři uložen a pravidelně kešován:
1 |
<script src="/javascripts/cache/jscript.js?1278659256" type="text/javascript"></script> |
Stejně tak můžeme tento postup použít pro styly.