2012-07-06 80 views

回答

3

试试这个:

# your_model.rb 
validate :only_valid_numbers 

private 

    def only_valid_numbers 
     if (self.number % 3) != 0 
      self.errors[:base] << "Number must be divisible by 3!" 
     end 
    end 

记住0 % 3将是0,所以如果你不想允许,改变if语句:

if self.number != 0 and ...etc... 
0

您可以编写自己的简单的验证方法如下:

validate :divisible_by_three 

def divisible_by_three 
    unless attribute%3 == 0 
    self.errors.add(:attribute, "is not divisible by 3") 
    end 
end 

我不认为任何内置的rails方法所以这可能是最好的解决方案。

Tom