Я пытаюсь включить модуль только в том случае, если выполнено условие.Rails Включить модуль при условии
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
Это не работает, и я не могу понять, почему. Может кто-нибудь, пожалуйста, скажите мне, как я должен включать модули на основе состояния, которое выполняется, как указано выше?
Спасибо!
EDIT:
Я нашел ответ на мою проблему здесь: Mongoid and carrierwave
Однако я присуждении вопрос к началу ответа, как это, вероятно, более полезным способом.
является премиум метод экземпляра или поля? если это так, то это не сработает, потому что включение происходит на уровне класса при его загрузке. –