Разедление приложения на разделы
Документация
Документация по Roda
Следующие дополнения позволяют работать с большими приложениями в Roda
Документация по языку Ruby
- Метод Kernel#at_exit — добавление обработчика для завершения работы
Задача
Разработайте веб-приложение, которое позволит вам отслеживать оценки, выставленные по различным предметам.
Оценка описывается следующими полями:
- Дата выставления. Реально существующая дата.
- Название работы, за которую была выставлена оценка. Непустая строка, не менее 10 символов.
- Значение оценки. Вещественное неотрицательное число.
- Предмет. Ссылка на предмет, по которому выставляется оценка.
Предмет описывается следующими полями:
- Название предмета. Непустая строка, не менее трёх символов.
- Фамилия имя отчество преподавателя. Непустая строка.
Приложение должно позволять:
- Просматривать список предметов.
- Добавлять новые предметы в список.
- Редактировать ранее добавленный в список предмет.
- Просматривать список оценок.
- Добавлять новые оценки в список. Добавлять новые оценки можно только после
- Редактировать ранее добавленные оценки.
Рекомендации по организации маршрутов
- Обработка корневого пути
GET /
— перенаправление на список оценок
- Маршруты для работы с данными о предметах. Обработчики должны располагаться в файле
routes/subjects.rb
.GET /subjects
— просмотр списка предметовGET /subjects/new
— получение формы для добавления нового предметаPOST /subjects/new
— обработка формы для добавления нового предметаGET /subjects/ID/edit
— получение формы для редактирования существующего предметаPOST /subjects/ID/edit
— обработка формы для редактирования существующего предмета
- Маршруты для работы с данными об оценках. Обработчики должны располагаться в файле
routes/marks.rb
.GET /marks
— просмотр списка оценокGET /marks/new
— получение формы для добавления новой оценкиPOST /marks/new
— обработка формы для добавления новой оценкиGET /marks/ID/edit
— получение формы для редактирования существующей оценкиPOST /marks/ID/edit
— обработка формы для редактирования существующей оценки