2009-03-26 12 views
10

Rails fornisce una console molto utile ('script/console').Console Rails: esegue più volte un file Ruby

Scrivo un file ruby ​​ed eseguo nella console utilizzando require foo.rb.

Funziona correttamente la prima volta, ma il secondo e il prossimo require foo.rb non eseguono il mio script (require non lo ricarica).

Avete suggerimenti/trucchi?

risposta

2

Probabilmente dovresti provare a caricare l'ambiente delle tue rotaie in uno script o utilizzare rake. Considera anche l'uso di script/runner.

Here è un vecchio e forse obsoleto esempio di utilizzo dell'ambiente rotaie in uno script. Una versione più recente e dettagliata here.

A stack overflow answer

17

richiedono viene utilizzato per caricare le estensioni - in modo che il codice verrà eseguito una volta, per ottenere le estensioni di essere presenti nel proprio ambiente, ma la successiva richiede non farà nulla, perché il lavoro ha già è stato fatto.

carico, d'altra parte, carica ed esegue il codice ogni volta.

Come già detto, se si desidera solo per eseguire lo script ed è necessario l'ambiente Rails, quindi prendere in considerazione utilizzando lo script/runner

+3

Assicurarsi di utilizzare il nome completo del file con carico (richiede non richiede questo;)) – djburdick

Problemi correlati