Rails5.0.2枚举处理无效值

时间:2018-01-30 19:07:45

标签: ruby-on-rails validation activerecord enums rails-activerecord

我有一个包含状态枚举类型的工作模型

enum status: { beginning: 0, middle: 1, end: 2 }

创建新的工作记录后,可能会出现传递状态值类似finished的情况。在那种情况下,我正在

`ArgumentError: 'finished' is not a valid status`

有没有办法将无效值映射到nil?这与default: nil不同,因为只有在首先没有给出状态值时才适用。

我是否必须在ArgumentError上进行救援?处理这个问题的正确方法是什么?请举例!

另外,如果它有所不同,我的迁移文件如下:

 def change
    add_column :db_name, :status, :integer, default: nil
 end

0 个答案:

没有答案