Ruby on rails 在RubyonRails中存储数据库中的数组
我有一个独特的情况,如果我有一个表格,每个州都有一个复选框(就像在美国的州,所以说50个州),我真的不想在我的数据库中添加50列,我如何将它们存储在一个数组中的一列中 我觉得我已经看到了这一点,但我很难把手指放在实现上。。直接从rails文档:Ruby on rails 在RubyonRails中存储数据库中的数组,ruby-on-rails,database,Ruby On Rails,Database,我有一个独特的情况,如果我有一个表格,每个州都有一个复选框(就像在美国的州,所以说50个州),我真的不想在我的数据库中添加50列,我如何将它们存储在一个数组中的一列中 我觉得我已经看到了这一点,但我很难把手指放在实现上。。直接从rails文档: class User < ActiveRecord::Base serialize :preferences end user = User.create(:preferences => { "background" => "bl
class User < ActiveRecord::Base
serialize :preferences
end
user = User.create(:preferences => { "background" => "black", "display" => large })
User.find(user.id).preferences # => { "background" => "black", "display" => large }
class用户{“背景”=>“黑色”,“显示”=>large})
User.find(User.id).preferences#=>{“背景”=>“黑色”,“显示”=>large}
您还可以设置一个状态表,其中包含用户和状态之间的多对多关系。这将使查询更加高效。我喜欢你的答案,只是现在很难将数组保存到列中。如果你使用的是现有列,可能需要将列类型更改为:text以适合你的数组。(检查你的长度。)你可以使用states*;'代码>和状态为.split';'代码>,并确保分号不会出现在状态中。