我有这种有趣的情况,我看到我的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 :(得分:2)
您究竟在全球范围内设置它?听起来before_filter :foo
正在调用未重新加载的文件(可能是ActionController::Base
)(如控制器文件)。
如果是这样,请将前置过滤器移至ApplicationController
,或将before_filter
调用移至初始值设定项。