Ruby中的validates_numericality_of不起作用

时间:2016-02-01 13:29:48

标签: ruby-on-rails ruby

我想在我的两列上的整数输入上设置一个范围。我有;

validate
我得到了;     未定义的方法`验证'

我切换到:greater_than_or_equal_to方法并开始使用add_column :stores, :min_order_time, :integer, default: 0 add_column :stores, :max_order_time, :integer, default: 60 validates_numericality_of :min_order_time, :in => 0..20 validates_numericality_of :max_order_time, :in => 30..90 ,因为这不起作用;

undefined method `validates_numericality_of' for #....

我得到的错误是

 include ActiveModel::Validations

我使用的是Ruby v2.2.0,所以这个validates_numericality_of应该有效,对吗?

我把它包含在模型中以获得良好的衡量标准,但没有帮助;

function my_enqueue() {
  exit("asd");
}
my_enqueue();

1 个答案:

答案 0 :(得分:3)

验证应该放在模型中,而不是迁移:

class Store 
  validates_numericality_of :min_order_time, in: 0..20
  validates_numericality_of :max_order_time, in: 30..90
end

你真正想要的是inclusion

validates_inclusion_of :min_order_time, in: 0..20