Voici une classe que je l'habitude d'avoirY compris les modules dans une classe et l'exécution du code
class Something
# Defines the validates class methods, which is called upon instantiation
include Module
validates :name
validates :date
end
j'ai maintenant plusieurs objets qui utilisent les mêmes fonctionnalités, et pire encore, plusieurs objets qui définissent des choses semblables, comme ceci:
class Anotherthing
# Defines the validates class methods, which is called upon instantiation
include Module
validates :age
end
Je veux «réutilisation du contenu de ces classes, donc je les transforme en modules:
module Something
# Defines the validates class methods which is called upon instantiation
include Module
validates :name
validates :date
end
module Anotherthing
# Defines the validates class methods which is called upon instantiation
include Module
validates :age
end
Et je peux maintenant créer une classe
class ADualClass
include Something
include Anotherthing
end
Le problème que j'ai est que la méthode Valide ne sont pas appelés lorsque je crée un objet ADualClass ... Il semble que le « valident: chose » est jamais appelée. Pourquoi donc? Comment puis-je forcer cela?