2016-05-17 3 views
0

У меня есть модель Sequel так:Sequel валидация в озабоченности

class User < Sequel::Model 
    include Notificatable 

    def validate 
    super 
    validates_presence [:email] 
    end 
end 

# concerns/notificatable.rb 
module Notificatable 
    extend ActiveSupport::Concern 

    included do 
     def validate 
     super 
     validates_presence [:phone] 
     end 
    end 
end 

И здесь У меня проблема: Notificatable метод проверки перекрывает один и тот же метод в User модели. Таким образом, нет :name валидации.

Как это исправить? Благодаря!

ответ

1

Зачем стоит беспокоиться? Простое включение рубинового модуля работает так, как вы хотите:

class User < Sequel::Model 
    include Notificatable 

    def validate 
    super 
    validates_presence [:email] 
    end 
end 

# concerns/notificatable.rb 
module Notificatable 
    def validate 
    super 
    validates_presence [:phone] 
    end 
end 
+0

Потому что мне нужно добавить еще несколько продуктов, например, плагины Sequel и отношения. –

+0

Затем сделайте Notificatable плагин Sequel вместо беспокойства. –

+0

Хорошо, я попытаюсь найти информацию о создании плагинов Sequle. Благодаря! –