Ram*_*Vel 10 ruby ruby-on-rails before-filter
在rails 2.8中,我们可以像这样编写skip_before_filter
skip_before_filter :require_login, :only => [:create,:new,:accept]
这意味着,我只想将过滤器   require_login应用于这些操作[:create,:new,:accept],并跳过其他人的过滤器.
但似乎这种方式在rails 3中已被弃用.并添加了新的skip_filter.我试过这个
 skip_filter :require_login, :only => [:create,:new,:accept]
但它没有工作,所以我怎么能在rails 3中做到这一点.
Dou*_*las 15
这是一个错误的使用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_filter,after_filter和around_filter过滤器:
skip_filter :require_login, :except => [:create,:new,:accept]
参考:Rails 3.2指南
在Rails 4.0中,等效方法是:before_action和:skip_before_action.
参考:Rails 4.0指南
| 归档时间: | 
 | 
| 查看次数: | 17412 次 | 
| 最近记录: |