2010-03-26 7 views
6

Tengo problemas para incluir un módulo en una clase de espacio de nombres. El siguiente ejemplo arroja el error uninitialized constant Bar::Foo::Baz (NameError). ¿Qué pieza básica de conocimiento de Ruby me falta aquí?¿Cómo incluyo un módulo en una clase de espacio de nombres?

module Foo 
    module Baz 
    def hello 
     puts 'hello' 
    end 
    end 
end 

module Bar 
    class Foo 
    include Foo::Baz 
    end 
end 

foo = Bar::Foo.new 

Respuesta

7

Uso :: para forzar la búsqueda a sólo el nivel superior:

module Bar 
    class Foo 
    include ::Foo::Baz 
    end 
end 
+0

Gracias, señor. –

0

include ::Foo::Baz

Cuestiones relacionadas