验证:值有限的变量(枚举)

时间:2015-12-28 18:29:26

标签: ruby-on-rails ruby validation ruby-on-rails-4 model-view-controller

我想要一个值为0,1或2的模型变量。在我的迁移中,我有:

t.integer :var, null:false, default: '0'

在我的模型文件中:

enum :var, [ '0', '1', '2' ]

但是,所有测试(也是不相关的测试)现在都会产生下面的错误,参考上面的模型行。我做错了什么?

ArgumentError: wrong number of arguments (2 for 1)

3 个答案:

答案 0 :(得分:3)

您不应该拥有,,而应该写为:

enum var: [ '0', '1', '2' ]

请参阅documentation

答案 1 :(得分:1)

我不确定你打算做什么,但是需要收到一个参数。错误的参数数量错误意味着您尝试使用意外数量的参数调用方法。 (2 for 1)表示您尝试使用一个带有两个参数的方法调用方法。

您应该使用

enum var: [ '0', '1', '2' ]

答案 2 :(得分:0)

我认为正确的语法是:

s(1).f