L'unico modo per definire i callback per gli eventi after_find e after_initialize è definirli come metodi. Se provi a dichiararli come gestori usando la seconda tecnica, verranno ignorati in silenzio.Perché i callback per gli eventi after_find e after_initialize devono definirli come metodi?
Qualcuno può spiegare perché è così?
Perché in particolare per questi due callback?
EDIT
Dal libro: - Rails deve usare zione riflessio- per determinare se ci sono callback per essere richiamati. Quando si eseguono operazioni di database reali, il costo di questa operazione normalmente non è significativo rispetto al sovraccarico del database. Tuttavia, una singola istruzione select del database potrebbe restituire centinaia di righe, e entrambe le callback dovrebbero essere invocate per ciascuna. Ciò rallenta notevolmente la query. Il team Rails ha deciso che in questo caso le prestazioni superano la coerenza. Che diavolo ... !!!! Questo è tutto ... Solo questo come spiegazione ... !!!
Yaa io libro sto usando come spiegazione di rifrazione dato che c'è: - Rails deve usare la reflection per determinare se ci sono callback da invocare. Quando si eseguono operazioni di database reali, il costo di questa operazione normalmente non è significativo rispetto al sovraccarico del database. Tuttavia, una singola istruzione di selezione del database potrebbe restituire centinaia di righe, ed entrambe le callback dovrebbero essere invocate per ciascuna. Ciò rallenta notevolmente la query. Il team Rails ha deciso che in questo caso le prestazioni superano la coerenza. Che diavolo ... !!!! –