我有一个整数字段' fieldname'。
枚举:[' a',' b']
f.input :fieldname, as: select, collection: Model.drops
选择并提交后,我收到错误' 0'不是有效的字段名称。
目前通过使用枚举为整数字段编写setter来使其工作:
def fieldname=(value)
self[:fieldname] = value.to_i
end
你能告诉我正确的方法吗?我不认为写这个setter方法是一个好方法。
答案 0 :(得分:18)
将.keys
添加到集合定义:
f.input :fieldname, as: select, collection: Model.drops.keys
这样选项的值与文本的字符串相同,保存的ActiveRecord会将其转换为整数。