Подтвердить что ты не робот

Хранение массива в базе данных в рубине на рельсах

У меня есть некоторая уникальная ситуация, если у меня есть форма с флажком для каждого состояния (как в штатах США, так говорят 50 государств), я действительно не хочу добавлять 50 столбцов в свой db, как можно Я храню их в массиве в одном столбце?

Мне кажется, что я видел это, но мне трудно провести пальцем по реализации.

4b9b3361

Ответ 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

Вы можете настроить таблицу состояний со многими и многими отношениями между пользователем и государством. Это сделало бы запросы более эффективными.