将数组存储在rails中的ruby中的数据库中

JP *_*shy 12 database ruby-on-rails

我有一个独特的情况,如果我有一个表格,每个州有一个复选框(如美国各州,所以50个州说),我真的不想在我的数据库中添加50列,我怎么能存储它们在一列中的数组?

我觉得我已经看到了这个,但我很难完成实施.

jde*_*eno 21

ActiveRecord :: Base.serialize.直接来自rails docs:

class User < ActiveRecord::Base
  serialize :preferences
end

user = User.create(:preferences => { "background" => "black", "display" => large })
User.find(user.id).preferences # => { "background" => "black", "display" => large }
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用的是现有列,则可能需要将列类型更改为:text以适合您的阵列.(检查your_a.to_yaml.length.) (4认同)