Это не работает, потому что вы определяете метод с помощью экземпляра scope и пытаетесь вызвать его в рамках класса.У вас есть две альтернативы:
Область экземпляра
class Project < ActiveRecord::Base
validate :validates_progression
def validates_progression
true # stub
end
end
Область действия класса
class Project < ActiveRecord::Base
def self.validates_progression
true # stub
end
# Be sure to define this method before calling it
validates_progression
end
Вторая альтернатива неЭто действительно имеет смысл, если вы не хотите обернуть другой фильтр.
class Project < ActiveRecord::Base
def self.validates_progression
validates_presence_of :progression
validates_length_of ...
end
# Be sure to define this method before calling it
validates_progression
end
В противном случае перейдите к первому решению.