我在模型中有一个枚举。我想得到它的整数值,或者它没有设置我想得到一个值的整数值,我选择它作为默认值:
enum my_enum: [:val1, :val2, :val3]
def method1
int_val = self.read_attribute(:my_enum)
# what if my_enum hasn't been set?
unless int_val
int_val = ??? # how to get integer of :val2 ???
end
end
答案 0 :(得分:0)
枚举的默认值是您在第0个索引处设置的值。 对于前者enum动物{Cat,Dog,Lion,Tiger}的默认值为'Cat',即动物(0)。
但是如果你将enum定义为枚举动物{Cat = 1,Dog = 2,Lion = 3,Tiger = 0}则默认为'Tiger'
考虑到您可以定义枚举以满足您的要求
答案 1 :(得分:0)
设置数据库中字段的默认值非常有用。尝试使用数据库迁移将默认值更改/添加到必填字段。示例代码:
class ChangeDefaultValueToModel < ActiveRecord::Migration
def change
change_column_default :model_name, :field_name, default_value
end
end
有关更多详细信息,请查看change_column_default
的Ruby on Rails API