Чудова робота!!!
В цілому всі умови завдання виконані
Але зверніть увагу на деякі пропозиції щодо покращення функціоналу:
[x] чудово, що Ви додаєте можливість заповнювати базу за допомогою інформації у файлі seeds.rb. Однак для перевірки роботи тих функцій, які присутні в завданні 8 створення 2 статей через сіди - це дуже замало. Якщо в умові пагінація 15 статей на сторінку, то логічно, щоб seeds.rb генерував принаймні 16 статей. Щоб оптимізувати роботу над заповненням seeds.rb можна використати гем для генерації фейкових даних, наприклад Faker, а в самому seeds.rb прописати щось наприклад:
3.times do
author = Author.create({ name: Faker::ProgrammingLanguage.creator })
7.times do
article = Article.create({ title: Faker::ProgrammingLanguage.name, body: Faker::Quote.matz, author_id: author.id, tag_ids: [1, 2, 5] })
15.times do
Comment.create({ body: Faker::Quote.jack_handey, author_id: author.id, article_id: article.id })
end
end
end
аналогічно окремо можна створити теги і т.п.
[x] встановіть дефолтне значення для article status (default: 0) - так само як це зробили для коментарів, нелогічно щоразу при створенні статті прямо вказувати статус, оскільки первісно всі статті є чорновиками (тобто status unpublished)
[x] зверніть увагу, що у Вас ніяк не обробляється помилка на метод find , наприклад:
def set_article
@article = Article.find(params[:id])
end
те саме для авторів, коментарів і т.п.
Відповідно, при спробі передачі неіснуючого параметру, наприклад неіснуючого значення article_id, читач отримає помилку ActiveRecord::RecordNotFound in Api::V1::ArticlesController#show
а бажано вивести читачу просто повідомлення, що такої статті не знайдено.
Це було в 8й лекції, крім того про це моджна почитати наприклад тут http://rubyjunky.com/never-check-for-an-error-you-dont-know-how-to-handle.html
[x] в завданні було застосувати серіалайзер для ArticlesController#show. Так, тут все зроблено коректно, але дія серіалайзера поширюється і на ArticlesController#index (включно з функціями фільтрації, пошуку та сортування). На мою думку цього робити не потрібно, оскільки тоді респонс виявляється перевантаженим інформацією. Навіть за умови пагінації не більше 15 статей на сторінку за умови наявності десятків коментарів до кожної із статей - це дуже багато. Не краще виводити коменти лише до конкретної статті в методі show?
Чудова робота!!! В цілому всі умови завдання виконані
Але зверніть увагу на деякі пропозиції щодо покращення функціоналу:
[x] чудово, що Ви додаєте можливість заповнювати базу за допомогою інформації у файлі seeds.rb. Однак для перевірки роботи тих функцій, які присутні в завданні 8 створення 2 статей через сіди - це дуже замало. Якщо в умові пагінація 15 статей на сторінку, то логічно, щоб seeds.rb генерував принаймні 16 статей. Щоб оптимізувати роботу над заповненням seeds.rb можна використати гем для генерації фейкових даних, наприклад Faker, а в самому seeds.rb прописати щось наприклад:
аналогічно окремо можна створити теги і т.п.
[x] встановіть дефолтне значення для article status (default: 0) - так само як це зробили для коментарів, нелогічно щоразу при створенні статті прямо вказувати статус, оскільки первісно всі статті є чорновиками (тобто status unpublished)
[x] зверніть увагу, що у Вас ніяк не обробляється помилка на метод find , наприклад:
те саме для авторів, коментарів і т.п. Відповідно, при спробі передачі неіснуючого параметру, наприклад неіснуючого значення article_id, читач отримає помилку ActiveRecord::RecordNotFound in Api::V1::ArticlesController#show а бажано вивести читачу просто повідомлення, що такої статті не знайдено. Це було в 8й лекції, крім того про це моджна почитати наприклад тут http://rubyjunky.com/never-check-for-an-error-you-dont-know-how-to-handle.html
[x] в завданні було застосувати серіалайзер для ArticlesController#show. Так, тут все зроблено коректно, але дія серіалайзера поширюється і на ArticlesController#index (включно з функціями фільтрації, пошуку та сортування). На мою думку цього робити не потрібно, оскільки тоді респонс виявляється перевантаженим інформацією. Навіть за умови пагінації не більше 15 статей на сторінку за умови наявності десятків коментарів до кожної із статей - це дуже багато. Не краще виводити коменти лише до конкретної статті в методі show?