Рубин на релси - често срещани грешки за начинаещи
Преди старта. Бих искал също да спомена, че едни и същи задачи трябва да се решават по един и същ начин. Вие лично или като екип трябва да имате ръководство за стил, което да обхваща всички ключови точки на кодовия дизайн и организация. Същият код ще улесни взаимодействието на екипа и ще направи по-малко грешки.
Първата част е посветена на моделите. Този слой съдържа цялата бизнес логика, заедно с най-голям брой грешки при нейното изпълнение.
Така че начинаещи:
Не използвайте автоматично генерирани методи.
Обикновено Rails и много скъпоценни камъни добавят много полезни помощни методи към обектите, с които работят. Трябва да знаете тези функции и да ги използвате. Например за булеви полета rails автоматично добавя предикати. Това са методи, които завършват с въпросителен знак. Използването им се счита за добра форма.
Не разбирам откъде идва свръхрастежа N +1
Разбирането как ORM работи с база данни е много важно, но не винаги е налице, дори на основно ниво. Следователно методите include, preload, eager_load почти никога не се използват. Не е използван скъпоценен камък.
В първия случай ще бъде изпълнена N + 1 заявка към базата данни, където - N е броят на подадената домашна работа. Това може да бъде 10, 20 или дори 100 заявки. Вторият код ще има общо 2 заявки!
Не използвайте обхват
Обхватът ви позволява да скриете изпълнението на базата данни и да уникализирате кода си. Освен това използването им прави кода много по-четлив. Защото те показват намерението на разработчика, а не структурата на основата.
Не знам разликата между размера и броя в ActiveRecord: Relation
Разликата е, че count винаги ще направи заявка, размерът ще провери дали необходимата стойност е отчетена във всяко поле. Още - гледайте скрийнскаст за CounterCache
Обикновени мюсли за начинаещи
Винаги пиша count просто защото съм свикнал с тази дума от други езици и ми харесва повече.