¿Cómo puedo obtener de un módulo el nombre de clase de la clase en la que está incluido el módulo?Obtener el nombre de clase de un módulo
module ActMethods
def some_method(*attr_names)
cls = self.class # this doesn't work
end
end
¿Cómo puedo entrar en la variable cls el nombre de la clase que con este módulo está cargado?
¡Debería estar funcionando! Puede ser que necesite self.class.name – khelll
Tenga en cuenta que si la clase se extiende en anónimo, imprimir self.class o self.class.name se devuelve en blanco, lo que puede ser confuso. En este caso, también es bueno comprobar self.class.superclass. –
'self.class' no funciona para mí. 'self.class.name' devuelve" Módulo ". Creo que tiene que ver con el hecho de que la clase en la que se incluye mi módulo hereda de ActiveRecord :: Base (Rails 3.2.8) pero no estoy seguro de por qué o cómo eso interfiere. –