Skip to content

Instantly share code, notes, and snippets.

@liamka
Last active April 14, 2020 17:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save liamka/4f624fd6eb320c3b70b7ba32b99165c8 to your computer and use it in GitHub Desktop.
Save liamka/4f624fd6eb320c3b70b7ba32b99165c8 to your computer and use it in GitHub Desktop.

Задача

Есть сущность пользователь (User). Он может быть трех типов:

  • Администратор
  • Модератор
  • Исполнитель
  • Рекламодатель

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

Обязательные общие свойства:

  • почта;
  • имя;
  • телефон.

Свойства рекламодателя:

  • должность;
  • название организации.

Необходимо создать небольшое Rails-приложение для работы с пользователями (достаточно только с рекламодателем). Что требуется:

  1. Миграция БД

  2. Реализовать создание, редактирование и json-представление данных о пользователе (рекламодателе). С сохранением в базу и валидациями. Вьюхи делать не нужно, достаточно рабочих роутов. Роуты должны быть доступны только для ajax-запросов.

  3. Бизнес логику и валидации реализовать не в моделях ActiveRecord. Модели использовать только для доступа к БД. Можно заменить ActiveRecord, например, на sequel, или вообще чистый SQL. Сущность - это не модель ActiveRecord, а свой класс.

  4. В качестве БД использовать PostgreSQL (mysql тоже сойдёт).

  5. Индивидуальные свойства пользователя сохранить в отдельную таблицу.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment