2009-10-02 92 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