我有一个有趣的情况,我看到我的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诸若此类。
这只在开发模式下发生,我想知道是否有人知道为什么?
发布于 2009-10-02 22:15:07
你到底是如何在全球范围内设置它的?听起来像是在没有从正在重新加载的文件(如控制器文件)中重新加载的内容(可能是ActionController::Base)上调用before_filter :foo。
如果是这样,请将before筛选器移至ApplicationController,或将before_filter调用移至初始值设定项。
https://stackoverflow.com/questions/1511651
复制相似问题