2009-10-02 50 views
0

我有这种有趣的情况,我看到我的before_filter多次执行一次访问。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 

依此类推。

这只发生在开发模式,我想知道是否有人知道为什么?

+0

你玩过记录器吗? – khelll 2009-10-02 20:42:22

+0

雅我想知道是否记录器没有得到清除之前,它写出来或什么。但我没有玩过它。 – Will 2009-10-05 13:53:00

回答

2

您究竟如何在全球设置它?听起来像before_filter :foo正在从一个正在重新加载的文件(如控制器文件)重新加载(可能为ActionController::Base)的东西上调用。

如果是这样,请将before过滤器移动到ApplicationController,或将before_filter调用移动到初始值设定项。

+0

我在UserManagementApplicationConreoller中有before_filter代码。我有ApplicationController Will 2009-10-05 13:50:15