Практична робота: Моделі

Практична робота: Моделі

Ruby 🇺🇦

Зміст:


Отож, у практичній роботі будуть виконуватися ті чи інші завдання на основі раніше опублікованого уроку. Зазвичай їх буде робити хтось із моєї команди для своєї практики, але ми це будемо демонструвати також і на каналі у форматі таких от матеріалів. Тобто ви побачите саме завдання, котре було сформоване виконавцем після прочитання уроку, а також варіант його вирішення. У вас є змога спочатку самостійно вирішити завдання, а потім подивитися на те, як це зробив автор і порівняти.

Це пілотний формат, він ще буде видозмінюватися та покращуватися.

Завдання №1

Написати валідацію для поля з числовим значенням. Поле повинно бути меншим рівним за 100 та більшим за 20.

Один з варіантів рішень

Завдання №2

У нашій програмі існують дві моделі - Event (Подія) та Tour (Тур). Нам потрібно визначити і налаштувати зв'язок між цими двома моделями. Для досягнення цієї мети, розробіть та реалізуйте методи в кожній з цих моделей, які дозволять встановити визначений зв'язок між ними.

Один з варіантів рішень

Завдання №3

У нас є модель квадрата(поля: side, area). Сторона квадрата не може бути менше за 0. Напишіть колбек, який після збереження нашого запису в базі данних, буде обчислювати площу квадрата.

Один з варіантів рішень

Завдання №4

1. Створіть модель Question з полями title (заголовок) та body (детальний опис) і модель Answer з полем content (вміст). Встановіть зв'язок між питаннями і відповідями так, що питання може мати багато відповідей, а відповідь належить тільки одному питанню.

2. Додайте обмеження щодо кількості символів в заголовку та детальному описі питання (не менше 35 символів) і в відповіді (не менше 50 символів). Усі поля повинні бути обов'язковими.

3. Також, реалізуйте колбек, який викликається після збереження відповіді на питання в базу даних. В цьому колбеку перевірте вміст відповіді на наявність нецензурних слів, таких як 'недоумок' та 'дурак', і замініть їх на '***' у відповіді.

Один з варіантів рішень


Чат для спілкування - лінк.
Канал - лінк.
Сайт - лінк. (beta)



Report Page