【问题标题】:Validition: variable with limited number of values (enum)有效性:具有有限数量值的变量(枚举)
【发布时间】:2016-04-02 14:41:03
【问题描述】:

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

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

在我的模型文件中:

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

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

ArgumentError: wrong number of arguments (2 for 1)

【问题讨论】:

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


    【解决方案1】:

    我认为正确的语法是:

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

    【讨论】:

      【解决方案2】:

      我不确定您尝试做什么,但 require 收到一个参数。错误的参数数量错误意味着您正在尝试使用意外数量的参数调用方法。 (2 for 1) 表示您正在尝试使用一个参数和两个参数调用方法。

      你应该使用

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

      【讨论】:

        【解决方案3】:

        你不应该有,,而是写成:

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

        请参考documentation

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-22
          • 1970-01-01
          • 2014-07-28
          • 2015-03-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多