gpt4 book ai didi

ruby-on-rails - Rails 3 做 skip_before_filter 的方法,:only

转载 作者:数据小太阳 更新时间:2023-10-29 06:45:17 26 4
gpt4 key购买 nike

在rails 2.8中我们可以这样写skip_before_filter

skip_before_filter :require_login, :only => [:create,:new,:accept]

这意味着,我只想将过滤器 require_login 应用于这些操作 [:create,:new,:accept],并跳过其他操作的过滤器。

不过好像,这条路是deprecated在 rails 3 中。和新的 skip_filter被添加。我试过了

 skip_filter :require_login, :only => [:create,:new,:accept]

但它不起作用,所以我如何在 Rails 3 中执行此操作。

最佳答案

这是对 skip_before_filter 的错误使用。

为了将过滤器 require_login 专门应用于操作 [:create,:new,:accept] 并跳过其他过滤器,您必须首先应用过滤器:

before_filter :require_login

然后您必须告诉 Rails 跳过此过滤器除了操作“创建、新建和接受”。

skip_before_filter :require_login, :except => [:create,:new,:accept]

您还可以使用 skip_filter,它允许您包含 before_filterafter_filteraround_filter 过滤器:

skip_filter :require_login, :except => [:create,:new,:accept]

引用:Rails 3.2 guide

在 Rails 4.0 中,等效的方法是 :before_action 和 :skip_before_action。

引用:Rails 4.0 guide

关于ruby-on-rails - Rails 3 做 skip_before_filter 的方法,:only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com