Домашно Технология на програмирането от Михайл и Добромир

Домашно

 

Краен срок: 26.01.2019 16:43

Начин на предаване: Качете домашното в github repo-то на курса в папка с име “rails_homework_<class>_<number>”.

Да се направи приложение на Ruby on Rails, в което могат да се създават, премахват, променят и показват събития (Event). Всяко събитие има име, местоположение, описание и дата (с час). При промяна или създаване на събитие да се валидира, че всички полета освен описанието са попълнени, датата е валидна, и дължината на името е по-голяма от 8 символа. Да може да се показва списък на всички събития, където да се виждат датата и името на събитието, а при кликване на линк за дадено събитие да се отваря страница специално за него с цялата информация.

Да се направи втори модел за човек (Person), притежаващ единствено име, който може да заявява, че ще присъства на събития. Това става чрез трети междинен клас: Attendance.

Единствените операции, които е необходимо приложението да поддържа за хора са добавяне на нов човек и отваряне на страница за специфичен човек.

На страницата за показване на специфичен човек трябва да има списък с всички събития, на които е заявил, че ще отиде. До всяко, да има бутон/линк, който да премахне съответната връзка (т.е човека се отказва да присъства на това събитие). Най-отдолу да има падащо меню с всички събития, в които човека не е заявил досега, че ще присъства, чрез което да може да се заяви ново присъствие (т.е да се създаде нов Attendance).

 

Бонус

Направете модел за организация (Organization), в която могат да присъстват хора (нека един човек да може да присъства в нула или една организации).

Променете съществуващото приложение така, че организациите също да могат заявят присъствие към различни събития. Съответно, на страницата показваща специфичен човек, да се показват и събития, към които организацията му е заявила присъствие (като от страницата на специфичен човек не се позволява да се премахне присъствие, което е на организацията).

Публикувано в Технология на програмирането. Постоянна връзка.