Задать вопрос
jj_killer
@jj_killer

RoR. Модель с большим количеством атрибутов и их валидация

Обращаюсь к рельсовикам. Предположим есть модель:

class Event
  include Mongoid::Document

  field :action, type: Symbol
  field :actor_structure, type: Array
  # и так еще штук 40 полей, то символов, то массивов

end


Каждое поле должно соответствовать значению из списка возможных. Для каждого поля свой список. В список часто добавляются новые значения. Первое, что приходит в голову, так это has_many и has_and_belongs_to_many. Но я боюсь, что это сильно замедлит выборку по модели и вообще, возможно даже анти-паттерн.

Можно оставить их как атрибуты создав соответствующие им модели, и для каждого атрибута написать кастомный валидатор. Хотя это тоже, скорее всего, анти-паттерн.
  • Вопрос задан
  • 3189 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
EugeneOZ
@EugeneOZ
Я не рельсовик, но второй Ваш вариант с валидаторами считаю нормальным.
Ответ написан
sl_bug
@sl_bug
В случае добавления нового значения — правим валидаторы, печалька…

has_many это вариант. если нужно вытягивать с зависимостями то есть includes

Но в любом случае реальные данные будут полезны, что бы помочь.
Ответ написан
Ваш ответ на вопрос

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

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