Per impostazione predefinita, quando si chiama "richiedono", Rails cercherà nella (dalla sorgente bordo Rails):
app app/metallo app/modelli app/controller app/aiutanti app/servizi lib vendor
per semplicità, mettere il file in lib /, e richiedono per nome nella configurazione/environment.rb, oppure si può mettere in config/inizializzatori/array_extension.rb, ed e' verrà automaticamente caricato.
Dove lavoro, abbiamo inserito tutte le nostre estensioni nella libreria di base di Ruby in un plug-in e memorizzato in (Rails.root /) fornitore/plug-in/utilità/lib/core_ext, quindi è necessario estensioni individuali nel init.rb del plugin.
Un altro modo per scuoiare questo gatto: se dici, desidera memorizzare le estensioni di base in Rails.root/core_ext, allora si può aggiungere che il percorso come un percorso di carico nel blocco di configurazione in environment.rb:
Rails::Initializer.run do |config|
config.load_paths << 'core_ext'
end
Quindi è possibile chiamare "require 'array_extension'" da qualsiasi luogo e verrà caricato.
fonte
2009-03-24 20:31:39
Questo è quello che stavo cercando, grazie. Ho trovato, tuttavia, che questo funziona solo quando inserisco la riga di richiesta nella parte inferiore di config/environment.rb – inglesp
Sei fortunato ad avere Hash e Array di questo tipo nel tuo ambiente. –