Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3在筛选之前跳过\u的方法:仅限_Ruby On Rails_Ruby_Before Filter - Fatal编程技术网

Ruby on rails Rails 3在筛选之前跳过\u的方法:仅限

Ruby on rails Rails 3在筛选之前跳过\u的方法:仅限,ruby-on-rails,ruby,before-filter,Ruby On Rails,Ruby,Before Filter,在Rails2.8中,我们可以像这样编写“先跳过后跳过”过滤器 skip_before_filter :require_login, :only => [:create,:new,:accept] 这意味着,我想将过滤器require\u login仅应用于这些操作[:创建,:新建,:接受],并跳过其他操作的过滤器 但在rails 3中似乎是这样的。并增加了新的功能。我试过这个 skip_filter :require_login, :only => [:create,:new,

在Rails2.8中,我们可以像这样编写“先跳过后跳过”过滤器

skip_before_filter :require_login, :only => [:create,:new,:accept]
这意味着,我想将过滤器
require\u login
仅应用于这些操作
[:创建,:新建,:接受]
,并跳过其他操作的过滤器

但在rails 3中似乎是这样的。并增加了新的功能。我试过这个

 skip_filter :require_login, :only => [:create,:new,:accept]
但是它不起作用,所以在rails 3中如何才能做到这一点。

  • skip_-before_过滤器
    未被弃用

  • 您正在按预期使用它


那么,您是如何推断它工作不正常的呢?

这是对
先跳过后过滤
的错误使用

要将筛选器
require\u login
专门应用于操作
[:创建,:新建,:接受]
,并跳过其他操作的筛选器,必须首先应用筛选器:

before_filter :require_login
然后你必须告诉rails跳过这个过滤器,除了“创建、新建和接受”操作之外

您还可以使用
跳过\u过滤器
,这允许您包括
在\u过滤器之前
在\u过滤器之后
,以及
在\u过滤器周围
过滤器:

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

在Rails 4.0中,等效的方法是:在\u操作之前,和:在\u操作之前跳过\u


参考资料:

:D我经常面临同样的情况;)
skip_filter :require_login, :except => [:create,:new,:accept]