La seule façon de définir des rappels pour les événements after_find et after_initialize consiste à les définir en tant que méthodes. Si vous essayez de les déclarer en tant que gestionnaires en utilisant la seconde technique, ils seront ignorés en silence.Pourquoi les rappels pour les événements after_find et after_initialize consistent-ils à les définir en tant que méthodes?
Quelqu'un peut-il expliquer pourquoi est-ce le cas? Pourquoi spécifiquement pour ces deux rappels?
EDIT
Extrait du livre: - Rails doit utiliser tion pour déterminer si réflexion il y a callbacks à invoquer. Lorsque vous effectuez de vraies opérations sur une base de données, le coût de cette opération n'est généralement pas important par rapport à la surcharge de la base de données. Cependant, une instruction de sélection de base de données unique peut renvoyer des centaines de lignes et les deux rappels doivent être appelés pour chacun d'entre eux. Cela ralentit considérablement la requête. L'équipe Rails a décidé que la performance l'emporte sur la cohérence dans ce cas. Que diable ... !!!! C'est tout .. Juste ceci comme explication ... !!!
Yaa i livre en utilisant comme explication de la réfrence étant donné: - Rails doit utiliser la réflexion pour déterminer s'il y a des rappels à invoquer. Lorsque vous effectuez de vraies opérations sur une base de données, le coût de cette opération n'est généralement pas important par rapport à la surcharge de la base de données. Cependant, une instruction de sélection de base de données unique peut renvoyer des centaines de lignes et les deux rappels doivent être appelés pour chacun d'entre eux. Cela ralentit considérablement la requête. L'équipe Rails a décidé que la performance l'emporte sur la cohérence dans ce cas. Que diable ... !!!! –