我有一个包含状态枚举类型的工作模型
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