Ich weiß, dass ein Modul in einer Klasse oder einem anderen Modul enthalten sein kann. Aber ich sah here, dass ein Modul in einer Methode enthalten ist. Was bedeutet das? auf der Ebene der Klassen aufgerufen werden, wie diesRuby: Was bedeutet Modul in einer Methode enthalten?
module ActsAsVotable
module ClassMethods
def acts_as_votable
has_many :votes, :as => :votable, :dependent => :delete_all
include InstanceMethods # What does this means ??
end
end
module InstanceMethods
def cast_vote(vote)
Vote.create(:votable => self, :up => vote == :up)
end
end
end
Ich dachte, dass in Ruby eine Klasse nur von anderen Klasse erben kann, aber ich sehe in Ihrem Code, der eine Klasse von einem Modul erbt: 'Klasse Foo. Was bedeutet das ? –
Argh, du hast Recht. Es hätte 'Klasse Foo sein müssen; beinhalten ActsAsVotable; acts_as_votable; Ende. Habe meine Antwort entsprechend bearbeitet. – DarkDust
Es funktioniert auch nicht für mich. Sehen Sie hier: http://codepad.org/vDvpda9M –