before_filter работает несколько раз и растет - PullRequest
0 голосов
/ 03 октября 2009

У меня странная ситуация, когда я вижу, что мой before_filter выполняется несколько раз за один доступ.

Мой фильтр называется auth_user_filter, и он регистрируется с использованием logger.info ("Yada Yada Yada"). Он настроен глобально для запуска перед всеми действиями. Когда я получаю доступ к действию через мой браузер, он печатает следующее (в зависимости от того, какой это вызов)

Первый звонок печатает

 Yada Yada Yada

Второй звонок печатает

 Yada Yada Yada
 Yada Yada Yada

Третий звонок печатает

 Yada Yada Yada
 Yada Yada Yada
 Yada Yada Yada

и т. Д.

Это происходит только в режиме разработки, и мне было интересно, если кто-нибудь знает, почему?

1 Ответ

2 голосов
/ 03 октября 2009

Как именно вы настраиваете это глобально? Похоже, before_filter :foo вызывается для чего-то, что не перезагружается (возможно, ActionController::Base) из файла, который перезагружается (например, файл контроллера).

Если это так, переместите фильтр before в ApplicationController или переместите вызов before_filter в инициализатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...