2009-10-02 9 views
0

J'ai cette drôle de situation où je vois mon before_filter s'exécuter plusieurs fois pour un accès.before_filter s'exécutant plusieurs fois et grandissant

Mon filtre s'appelle auth_user_filter et il se connecte en utilisant logger.info ("Yada Yada Yada"). Il est défini globalement pour s'exécuter avant toutes les actions. Quand j'accéder à une action sur mon navigateur, il imprime les éléments suivants (en fonction de ce que l'appeler est)

Les premières impressions d'appel

Yada Yada Yada 

La seconde imprime appel

Yada Yada Yada 
Yada Yada Yada 

Le troisième imprime d'appel

Yada Yada Yada 
Yada Yada Yada 
Yada Yada Yada 

Et ainsi de suite. Cela ne se produit qu'en mode développement et je me demandais si quelqu'un savait pourquoi?

+0

Avez-vous joué avec l'enregistreur ou quelque chose? – khelll

+0

Ya je me demandais si c'était l'enregistreur ne se dégage pas avant qu'il écrit ou quelque chose. Mais je n'ai pas joué avec. – Will

Répondre

2

Comment exactement le configurez-vous globalement? On dirait que le before_filter :foo est appelé sur quelque chose qui n'est pas rechargé (éventuellement ActionController::Base) à partir d'un fichier en cours de rechargement (comme un fichier de contrôleur).

Si tel est le cas, déplacez le filtre avant sur ApplicationController ou déplacez l'appel before_filter vers un initialiseur.

+0

J'ai le code before_filter dans UserManagementApplicationConreoller. Et j'ai ApplicationController Will

Questions connexes