活动记录阵列

时间:2015-07-04 10:04:17

标签: ruby-on-rails postgresql activerecord simple-form

在我的webapp中,我有一个包含属性的模型,该属性是一个int数组。每个int作为一个含义,所以我使用枚举。但似乎我对问题的处理方法不起作用:

我有以下型号:

class A < ActiveRecord::Base
  enum someenum:      [:abc, :def, :ghi]
end

在数据库中:

class CreateAs < ActiveRecord::Migration
  t.integer :someenum, array: true, default: []
end

在视图中我有这样的事情:

f.input :someenum, collection: A.someenums, as: :check_boxes

返回['0', '1', '']之类的内容。 但是当我创建A的实例时,我收到以下错误:

ArgumentError: '['0', '1', '']' is not a valid someenum

有人知道我做错了吗?

由于

1 个答案:

答案 0 :(得分:0)

尝试更改此

f.input :someenum, collection: A.someenums, as: :check_boxes

f.input :someenum, collection: A.someenums.keys.to_a, as: :check_boxes