Come posso ottenere da un modulo il nome classe della classe in cui è incluso il modulo?Ottieni il nome classe da un modulo
module ActMethods
def some_method(*attr_names)
cls = self.class # this doesn't work
end
end
Come posso ottenere nella variabile cls il nome della classe a con questo modulo è caricato?
Dovrebbe funzionare! Potrebbe essere necessario self.class.name – khelll
Si noti che se la classe viene estesa in modo anonimo, la stampa di self.class o self.class.name restituisce uno spazio vuoto, il che può essere fonte di confusione. In questo caso, è anche utile controllare self.class.superclass. –
'self.class' non funziona per me. 'self.class.name' restituisce" Modulo ". Penso che abbia a che fare con il fatto che la classe in cui è incluso il mio modulo erediti da ActiveRecord :: Base (Rails 3.2.8), ma non sono sicuro del perché o del modo in cui ciò interferisce. –