rails formtastic - 整数字段,枚举为下拉列表 - “0”无效

时间:2014-05-05 11:29:41

标签: ruby-on-rails enums

我有一个整数字段' fieldname'。

枚举:[' a',' b']

f.input :fieldname, as: select, collection: Model.drops

选择并提交后,我收到错误' 0'不是有效的字段名称。

目前通过使用枚举为整数字段编写setter来使其工作:

def fieldname=(value)
    self[:fieldname] = value.to_i
end

你能告诉我正确的方法吗?我不认为写这个setter方法是一个好方法。

1 个答案:

答案 0 :(得分:18)

.keys添加到集合定义:

f.input :fieldname, as: select, collection: Model.drops.keys

这样选项的值与文本的字符串相同,保存的ActiveRecord会将其转换为整数。