找出 Rails 3 中已经设置了哪些 before_filters
我有一个用于控制器配置的 DSL。底层功能依赖于 before_filters。为了防止多次设置 before_filter,我确实需要查明是否已经在 Rails 3 控制器中设置了 before_filter。由于 before_filter 的工作方式与类变量不同(继承、类重新加载),我不能只设置一个类变量来检查。
深入研究 AbstractController 回调的新高度抽象代码并没有给我任何线索,告诉我这是否可能。
我真的需要为控制器中的每个DSL调用调用skip_filter吗?
I have a DSL for controller configuration. The underlying functionality relies on before_filters. To prevent setting the before_filter more than once, I really need to find out whether a before_filter is already set in a Rails 3 controller. Since before_filter work different from class variables (inheritance, class reloading), I cannot just set a class variable to check.
Digging through the new highly abstracted code for the AbstractController callbacks does not give any clue to me whether this is possible at all.
Do I really need to call skip_filter for every DSL call in the controller?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以下是我发现的一种方法:
Below is a way I found to do this: