在註冊過濾器的抽象超類中,它們在控制器類中註冊的過濾器之前。假設我想在過濾器鏈的最後執行一個名爲authenticate的方法作爲過濾器。唯一可以解決的方法是將before_filter聲明爲所有控制器類中的最後一個過濾器(並且其中有很多)。有沒有辦法在超類中聲明這個過濾器,並讓它最後仍然被執行?我最後要執行它的原因是控制器類可能只是針對該控制器修改身份驗證要求,並且我希望在調用最終身份驗證過濾器之前將這些修改考慮在內。如何在超類的過濾器鏈的最後添加一個過濾器?
1
A
回答
2
使用prepend_before_filter
在你的控制器類,而不是before_filter
或append_before_filter
。
0
Rails的調用你的ApplicationController第一,當地的一個前...所以你可以做這樣的事情(使用爲例):
在應用程序控制器,你有你before_filter
回調,以及相應的方法被調用:
before_filter :authenticate
def authenticate
# do something
end
在控制器你正在使用的資源類型...
你可以重新定義/覆蓋authenticate
def authenticate
# do something else
end
你甚至可以選擇不使用你的authenticate
回調一些方法
skip_before_filter :authenticate, :only => :my_method_without_auth
相關問題
- 1. 如何在我的網站的主頁添加超級過濾器/過濾器?
- 2. 添加一個過濾器
- 3. 如何在spring-security的另一個過濾器之前添加過濾器?
- 4. 添加類別過濾器
- 5. 添加過濾器添加類在WordPress
- 6. WPF多個過濾器CollectionViewSource,第一個過濾器添加工作正常,第二個過濾器添加不
- 7. 在angularjs中添加一個過濾器
- 8. 添加多個過濾器
- 9. 在使用php時添加過濾器參數到流過濾器://過濾器
- 10. 添加過濾器的jqGrid
- 11. 在URLrewrite過濾器中過濾鏈條
- 12. 在devise's之後添加過濾器:authenticate_user?
- 13. 如何添加的CustomField過濾器
- 14. 禁止彈簧啓動添加@Bean過濾器到過濾鏈
- 15. 如何在eclipse中添加過濾器
- 16. datatables +每列添加一個過濾器
- 17. dc.js一次添加多個過濾器
- 18. django:模板鏈接添加過濾器
- 19. 鏈接過濾器一起
- 20. 過濾器組合框:如何添加「未過濾」選項?
- 21. 過濾另一個過濾器對象
- 22. 將幾個過濾器組合成一個過濾器()與Django過濾器
- 23. SAS添加過濾器
- 24. 添加過濾器到LiveGrid?
- 25. 添加條件過濾器
- 26. Wordpress過濾器添加meta?
- 27. 添加過濾器列出
- 28. 枝條添加過濾器
- 29. 添加表單過濾器
- 30. 過濾器鏈接
感謝您的支持,但驗證方法會檢查某些配額以查看當前操作是否「允許」。這些限制在應用程序控制器中調用的過濾器之前在另一箇中設置。但是,假設我有一個控制器,我想要進一步更改配額,只能從控制器類觸發,並且爲了通過身份驗證考慮這些配額,需要在設置新配額後運行身份驗證,因此認證需要在控制器類中聲明,然後再過濾該模塊的配額。 – 2009-07-18 09:52:56
爲什麼不用一個before_filter回調...並使用該方法來設置所需的所有內容? – mylescarrick 2009-07-19 04:11:53