Подпишитесь на рассылку о самых интересных материалах в мире веб-разработки :)

Миграция с массивом


(Анатолий Ступин) #1

Здравствуйте! Изучаю rails, в качестве тренировки пишу Расписание для клуба йоги.
У каждого Направления йоги имеется расписание, и включает в себя:

  • день недели
  • время (промежуток, например с 8 до 10)
  • инструктор.

Занятия по одному и тому же направлению могут проводиться в разные дни, в разное время и с разными преподавателями.

В моем понимании, в таблице должна быть колонка с массивом, внутри каждого массива один или более хэшей из трех атрибутов.
Массив хэшей потому, что если я оставлю лишь один хэш, то получится только одна связка на день-время-инструктор.

Не подскажете, как это правильно описать в миграции?


(Сергей) #2

Что-то вы мудрите с хэшами. Задолбаетесь потом выборки делать по такой таблице.
Делаете таблицу с отдельными полями, например, start_time, end_time, date, ассоциацию с интсруктором. Ну и при создании нового занятия конечно проверку, чтобы оно не совпадали по времени с уже существующими занятиями. Как-то так.


(Анатолий Ступин) #3

Как в вашем случае сделать, чтобы у одного занятия у меня могли быть назначены несколько дней недели с разными start и end time?


(Kvokka) #4

это в js объектом является хэш. а в руби все объект. и тут, по всему, для каждой записи надо инстанциировать сооветвующий класс и там уже описывать логику.

никто не запретит запилить в этом классе метожд #to_hash, чтобы он нативно конвертировался и будет по итогу чисто и красиво