Как хранить модели с динамическим набором полей в Rails?

Появилась необходимость хранить для разных пользователей разный набор полей в БД, например есть сущность "Заказ", для одного пользователя у нее будет только два поля - имя и телефон, для другого - десяток полей. Причем пользователь сам должен иметь возможность выбрать поля, которые ему нужны (т.е. мы не можем заранее создать 20 полей и для некоторых пользователей просто не заполнять ненужные). Как подобные вещи лучше хранить в Rails 4.1 приложении чтобы этот функционал не стал узким место в производительности? Возможно, стоит воспользоваться чем-то иным вместо MySQL (дефлотная БД)?
  • Вопрос задан
  • 2822 просмотра
Пригласить эксперта
Ответы на вопрос 3
@rsludge
1. Можно воспользоваться документоориентированными БД, например Mongo
2. Можно воспользоваться Postgres и расширением hstore.
Ответ написан
Able1991
@Able1991
Пишу на рельсах
Я сделал произвольные поля через отдельную модель и связь
has_many :fields, through:
Ответ написан
Комментировать
viktorvsk
@viktorvsk
А если информацией о заказе будет json, который хранится в одном поле ? При рендеринге строится форма. При добавление - добавляется инпут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы