2010-06-02 16 views

Respuesta

11

lo necesario para pasar un símbolo para autoload (probablemente un error tipográfico en su pregunta), y lo llaman en la matriz de la constante, como:

App.autoload :ModuleA, "app/module_a" 

Tenga en cuenta que esto funciona para niveles anidados también. Decir que en app/module_a tiene:

module App::ModuleA 
    autoload :Inner, "path/to/inner" 
end 

Cuando Rubí encuentra App::ModuleA::Inner, primero se intentará acceder ModuleA, tener éxito al autoloading, y sólo entonces intentar Inner, que tiene éxito también porque ahora sabe dónde cargarla automáticamente.

+0

Entiendo eso. Pero no me quiero inicializar al llamar a un Constant ModuleA, quiero llamarlo cuando alguien dice 'include App :: ModuleA' –

+1

De hecho, es por eso que quiere llamar' App.autoload', no solo 'autoload' . Pruébalo, funcionará como quieras. –

+0

aaaah ... ya veo. Muchas gracias :) –

Cuestiones relacionadas