Хранение массива в базе данных в рубине на рельсах
У меня есть некоторая уникальная ситуация, если у меня есть форма с флажком для каждого состояния (как в штатах США, так говорят 50 государств), я действительно не хочу добавлять 50 столбцов в свой db, как можно Я храню их в массиве в одном столбце?
Мне кажется, что я видел это, но мне трудно провести пальцем по реализации.
Ответы
Ответ 1
ActiveRecord:: Base.serialize. Прямо из рельсов 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 }
Ответ 2
Вы можете настроить таблицу состояний со многими и многими отношениями между пользователем и государством. Это сделало бы запросы более эффективными.