2009-12-11 11 views

risposta

3

Non l'ho ancora provato su heroku, ma Sprockets potrebbe andare bene per quello. Inoltre, in passato, ho avuto più fortuna con

:cache => 'all.css' 
:cache => 'all.js' 

invece di 'vero'

+1

Assicurati di dare un'occhiata a https://github.com/jeffrydegrande/sprockets_on_heroku se desideri utilizzare Pignoni. Pignoni è sicuramente qualcosa da guardare, in quanto sarà in bundle di default in Rails 3.1 (non sono sicuro se sia ancora in Rails 3). – webmat

1

E 'un modo diverso di gestire il vostro CSS/Javascript ma si consiglia di controllare il plugin Rails shoebox .

La scatola da scarpe può combinare, minimizzare e memorizzare nella cache.

0

Il nome del progetto dice tutto:

http://github.com/amasses/heroku_asset_packager

+0

Ma questo mette le risorse pacchettizzate in '/ tmp', che, secondo http://docs.heroku.com/constraints, non si attaccherà necessariamente alle richieste –

+0

Hai provato Jammit? http://documentcloud.github.com/jammit/ Ho letto diversi commit da altri progetti pubblici che sono passati a questo sebbene non ci abbia provato. Dovrò testarmelo un giorno a breve ... non optare per la pre-compilazione, avere la gemma compilare le risorse e quindi cancellare tutti i file da sotto e vedere se ricompone nuovamente le risorse. Non ho letto la fonte di Jammit per confermare ma ne vale la pena, a meno che tu non abbia trovato qualcos'altro. – databyte

23

Sto usando Jammit su Heroku. Funziona alla grande. Puoi creare localmente le tue risorse e fare il check-in su heroku. utilizzare

jammit --force 

l'attuale versione 0.5.1 ha problemi di lavoro su Heroku, ma è possibile installare la versione fissa da git: //github.com/documentcloud/jammit.git

Se si utilizza Rails 3 , specificare il qui sotto nella tua bundler Gemfile:

gem "jammit", :git => "git://github.com/documentcloud/jammit.git" 

Per Rails 2. *

config.gem "jammit", :source => "git://github.com/documentcloud/jammit.git" 

buono Luc K.

8

Ho trovato che l'aggiunta di un hook di pre-commit git che compila e comprime le risorse, quindi le aggiunge al commit corrente è utile in questo caso.

miniera utilizzando Jammit simile a questa (in .git/hooks/pre-commit):

jammit 
rake barista:brew 
git add public/assets/* 
git add public/javascripts/* 

come non tutte le risorse saranno imballati per voi e non dovete preoccuparvi più su di esso.

0

Probabilmente ci sono vari modi per farlo, ma ciò che funziona per me è quello di minify prima di spingere. Quindi uso una sottostruttura per mantenere separati i miei file di build dai file "di origine".Così, per esempio, se si crea una cartella chiamata "dist", si può spingere ad una sottostruttura chiamato Heroku/maestro come questo:

git subtree push --prefix dist heroku master 

Basta non dimenticare di assicurare che la cartella dist non viene ignorato (spesso è, per impostazione predefinita) - quindi modificare il file .gitignore di conseguenza.

Il comando --prefix garantisce che la cartella dist diventa effettivamente la cartella "root" dal punto di vista di quel ramo.

Problemi correlati