# Ricaricare le lib in rails

**URL:** <https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733>\
**Category:** IT\
**Created:** [October 2, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733 "2006-10-02T14:12:46Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 2:12pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/1 "2006-10-02T14:12:46Z")

</div>

domandina da newbie oggi.  
in rails, anche in dev mode, mi ritrovo costretto a spegnere/riaccendere  
per  
fargli vedere una modifica nelle lib.

è piuttosto seccante. voi come fate?

–Kia

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 2:22pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/2 "2006-10-02T14:22:46Z")

</div>

Spegnere e riaccendere la macchina ???

2006/10/2, chiaro scuro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 2:26pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/3 "2006-10-02T14:26:47Z")

</div>

Io sono proprio andato a staccare la corrente all’appartamento…

Noooo :-)))) Rails! dai non esageriamo 😃

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 2:42pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/4 "2006-10-02T14:42:51Z")

</div>

no, nelle directory lib o vendor cambio del codice (mio, su cui sto  
lavorando) e vorrei che il cambiamento venisse recepito da rails senza  
doverlo riavviare. e no, non è codice che voglio mettere negli helper o  
altri posti rails-specific.

scusate se sono stato più scuro che chiaro 😉

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 2:30pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/5 "2006-10-02T14:30:49Z")

</div>

cosa intendi per “le librerie”? Cioè che tipo di modifiche fai? A rails  
stesso?

chiaro scuro wrote:

> Ml mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
“Remember, always be yourself. Unless you suck.” - Joss Whedon

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 2:48pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/6 "2006-10-02T14:48:52Z")

</div>

On Oct 2, 2006, at 2:11 PM, chiaro scuro wrote:

> domandina da newbie oggi.  
> in rails, anche in dev mode, mi ritrovo costretto a spegnere/  
> riaccendere per  
> fargli vedere una modifica nelle lib.

E vorrei vedere, Ruby mica e’ PHP 🙂  
Se usi l’ambiente di sviluppo (RAILS\_ENV=development, di default)  
qualsiasi modifica  
al codice si riflette subito sull’applicazione che gira; se invece se  
in produzione  
(RAILS\_ENV=production, di default) devi riavviare l’applicazione.  
Il tutto e’ governato dal flag:

config.cache\_classes = false

che viene impostato nel file sotto “config/environments” che  
corrisponde all’ambiente usato.  
Questo vale sicuramente per tutto il codice che fa parte  
dell’applicazione; non mi ricordo  
se funziona anche per le librerie esterne (se viene riscritto il  
metodo “require” probabilmente  
si’).

> è piuttosto seccante. voi come fate?

Seccante? A me sembra semplicemente il comportamento piu’ giusto…

–  
Stefano C.  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 2:54pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/7 "2006-10-02T14:54:52Z")

</div>

On 10/2/06, Stefano C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Se usi l’ambiente di sviluppo (RAILS\_ENV=development, di default)  
> qualsiasi modifica

si sono in dev mode ma mi da comunque quel problema.

> Il tutto e’ governato dal flag:
> 
> config.cache\_classes = false

è così di default in dev mode? scusa per le domande stupide ma non ho rails  
qui ora.

Questo vale sicuramente per tutto il codice che fa parte

> dell’applicazione; non mi ricordo  
> se funziona anche per le librerie esterne (se viene riscritto il  
> metodo “require” probabilmente  
> si’).

mmhh temo di no :-/ require o non require non cambia il comportamento.  
sempre si incazza.

> > è piuttosto seccante. voi come fate?
> 
> Seccante? A me sembra semplicemente il comportamento piu’ giusto…

in produzione è giusto. quando sviluppo trovo seccante dover riavviare  
rails  
a ogni cambiamento. è molto unrails-like, dal che deduco che canno  
qualcosa  
io.

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 3:16pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/8 "2006-10-02T15:16:54Z")

</div>

in questo momento non ho rails, ma più tardi provo. thx.

in realtà il fallimento l’ho notato proprio con le classi… aggiungevo una  
classe e rails non la vedeva, dandomi un constant not defined.

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [October 2, 2006, 3:08pm UTC](https://www.ruby-forum.com/t/ricaricare-le-lib-in-rails/70733/9 "2006-10-02T15:08:54Z")

</div>

On Oct 2, 2006, at 2:54 PM, chiaro scuro wrote:

> si sono in dev mode ma mi da comunque quel problema.  
> mmhh temo di no :-/ require o non require non cambia il comportamento.  
> sempre si incazza.

Mi sa che il barbatrucco funziona solo con le classi (del resto il flag  
si chiamera’ “cache\_classes” per un motivo… c’ho messo un po’ a  
realizzare 🙂

prova a mettere in vendor/test.rb:

class Test  
def test  
puts “foo”  
end  
end

e poi da script/console esegui:

> > require ‘test’  
> > t = Test.new  
> > t.test  
> > foo

ora senza uscire dalla console, cambia “foo” in bar, e rifai:

> > require ‘test’  
> > t = Test.new  
> > t.test  
> > bar
