2012-10-16 5 views
5

Dopo molti googling Ho provato ad aggiungere entrambe queste al mio config e ancora ricaricare non accade:Rails app in esecuzione su Pow non ricarico per le modifiche nella directory/lib

config.autoload_paths += %W(#{config.root}/lib) 
config.autoload_paths += Dir["#{config.root}/lib/**/"] 

posso apportare modifiche ai file sotto/lib ma l'aggiornamento in Pow non ricarica le modifiche

Cosa mi manca?

+0

Si sta aggiornando il browser o riavviando l'app? – veritas1

+0

@ veritas1 l'aggiornamento, riavviarlo (ad esempio, tramite 'touch tmp/restart.txt') funziona ovviamente – user1749366

risposta

6

È necessario riavviare pow dopo aver modificato i file in/lib perché Rails inizializza gli oggetti qui all'avvio e non li carica di nuovo dopo l'avvio (quindi le modifiche mentre il server è attivo non differenza). Per ovviare a questo, avete alcune opzioni:

  1. Si consiglia di guardare con require_dependency.

  2. È possibile riavviare Pow toccando il file restart.txt: touch ~/.pow/restart.txt

  3. Per una soluzione più conveniente se si sta cambiando la cartella lib molto , aggiungere anvil per gestire il riavvio del facilmente.

  4. Se non si desidera eseguire questa operazione, aggiungere le classi al percorso/app in una nuova cartella.

+0

Ma non è questo il significato di autoload_paths? per dire ai binari cosa si può ricaricare di più? – user1749366

+0

Vale per il caricamento automatico senza ricarica automatica. Se lo desideri, ci sono alcuni hack qui: http://stackoverflow.com/questions/3282655/ruby-on-rails-3-reload-lib-directory-for-each-request – Simpleton