在注册过滤器的抽象超类中,它们在控制器类中注册的过滤器之前。假设我想在过滤器链的最后执行一个名为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