module Test
def self.model_method
puts "this is a module method"
end
end
class A
include Test
end
A.model_method
dies mit seinem Fehler:Warum 'Self' Methode des Moduls kann nicht eine Singleton Methode der Klasse werden?
nicht definierte Methode `model_method‘ für A: Klasse (NoMethodError)
Aber wenn ich metaclass von A. verwenden funktioniert es:
module Test
def model_method
puts "this is a module method"
end
end
class A
class << self
include Test
end
end
A.model_method
Kann jemand das erklären?
möglich Duplikat [? Ist das möglich, eine Klassenmethode in einem Modul zu definieren] (http://stackoverflow.com/questions/4699355/is-that-possible-to-define -a-class-method-in-a-modul) –