2012-11-29 8 views

risposta

16

Update: si veda la risposta di Laura utilizzando ActiveSupport :: Dependencies.autoload_paths di seguito. Ho lasciato questa risposta qui come metodo alternativo.

In Rails::Engine che è incluso nel modulo della applicazione Rails, v'è il seguente metodo:

def _all_autoload_paths 
    @_all_autoload_paths ||= (config.autoload_paths + config.eager_load_paths + config.autoload_once_paths).uniq 
end 

Quindi, si potrebbe o fare:

(MyRailsApp::Application.config.autoload_paths + MyRailsApp::Application.config.eager_load_paths + MyRailsApp::Application.config.autoload_once_paths).uniq 

o:

[:autoload_paths, :eager_load_paths, :autoload_once_paths].collect{|m|MyRailsApp::Application.config.send(m)}.flatten.uniq 

o solo:

MyRailsApp::Application._all_autoload_paths 

Il risultato di default in Rails 3.2.9 è:

["/path/to/my_rails_app/app/assets", "/path/to/my_rails_app/app/controllers", "/path/to/my_rails_app/app/helpers", "/path/to/my_rails_app/app/mailers", "/path/to/my_rails_app/app/models"] 

Ciò dovrebbe includere tutti i percorsi autoload che sono stati aggiunti da altre gemme e percorsi di carico personalizzato.

Problemi correlati