J'essaie d'inclure un module uniquement lorsqu'une condition est remplie.Rails Include Module on Condition
module PremiumServer
def is_premium
true
end
end
class Server
include Mongoid::Document
include PremiumServer if self.premium
field :premium, :type => Boolean, :default => false
end
Ce ne fonctionne pas, et je ne peux pas comprendre pourquoi. Quelqu'un peut-il me dire comment je suis censé inclure des modules basés sur une condition rencontrée, comme ci-dessus?
Merci!
EDIT:
J'ai trouvé la réponse à mon problème ici: Mongoid and carrierwave
Cependant, je suis attribution de la question à la partie supérieure réponse car il est probablement la façon plus utile.
est une prime méthode d'instance ou d'un champ? Si c'est le cas, cela ne fonctionnera pas, car l'inclusion a lieu au niveau de la classe lorsqu'elle est chargée. –