我有一个独特的情况,如果我有一个表格,每个州都有一个复选框(如美国各州,所以有50个州说),我真的不想在我的数据库中添加50列,怎么能我将它们存储在一个列中的数组中?
我觉得我已经看到了这一点,但我很难完成实施。
答案 0 :(得分: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 }
答案 1 :(得分:4)
您可以设置一个States表,其中User和State之间也有多对多的关系。这将使查询更有效。