2012-08-30 13 views

risposta

14

Sì, nil e false comportano lo stesso qui: rende Bundler non richiede la gemma specificata.

+0

Grazie, questo è quello che ho capito, ma volevo essere sicuro. Sembra falso è il più ampiamente usato almeno lo vedo in più esempi. – SteveO7

5

Richiedi nil o false significa che bundler non carica (require) le gemme specifiche. Tuttavia, si troveranno nei percorsi di caricamento $:, quindi è possibile richiederli esplicitamente ogni volta che si desidera utilizzarli. È una buona pratica usare questo, per gemme che sono necessarie solo in casi speciali (ad esempio script esterni, rake, ecc.).

0

Ogni volta che si specifica una gemma nella vostra Gemfile ed eseguire bundle install, bundler andrà ed installare gemma specificato e il codice di carico per quella gemma in voi app mettendo require 'whenever', in questo modo bundler caricherà codice per tutte le tue gemme nei tuoi Rails app, e puoi chiamare qualsiasi metodo da qualsiasi gemma senza dolore, come fai la maggior parte del tempo.

ma gemme come whenever,faker or capistrano sono qualcosa che non è necessario nel codice dell'app è necessario ogni volta codice nel tuo schedule.rb file per la gestione cron e il codice Capistrano in deploy.rb file per personalizzare la ricetta di distribuzione in modo non c'è bisogno di caricare il codice per queste gemme nel codice app e ovunque tu voglia chiamare qualsiasi metodo da queste gemme puoi richiedere manualmente queste gemme da solo mettendo require "whenever". quindi metti :require => false o :require => nil nel tuo Gemfile (entrambi significano lo stesso) per queste gemme, in questo modo bundler installerà quella gemma ma non caricherà il codice per quella gemma stessa, puoi farlo quando vuoi semplicemente mettendo come richiesto 'ogni qualvolta' nel tuo caso.