Единственный способ определить обратные вызовы для событий after_find и after_initialize - это определить их как методы. Если вы попытаетесь объявить их обработчиками, используя второй метод, они будут игнорироваться.
Кто-нибудь может объяснить, почему это так?
Почему именно для этих двух обратных вызовов?
EDIT
Из книги: -
Rails должен использовать отражение, чтобы определить, существуют ли обратные вызовы для вызова. При выполнении реальных операций с базой данных затраты на это обычно незначительны по сравнению с накладными расходами базы данных. Однако один оператор выбора базы данных может вернуть сотни строк, и для каждой из них придется вызывать оба обратных вызова. Это значительно замедляет запрос. Команда Rails решила, что в этом случае производительность превосходит последовательность.
Что за черт...!!!! Вот и все .. Только это как объяснение ... !!!