我想在我的两列上的整数输入上设置一个范围。我有;
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();
答案 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