2011-03-04 87 views
3

我想基于请求对象调用skip_before_filter。基于'请求'的skip_before_filter

伪代码:

skip_before_filter :authorize_user, :if => lambda { |controller| controller.request.ip == '127.0.0.1' 

这是可能的,看来你只能得到:只/:除非skip_filter的。

回答

6

这应该工作

skip_before_filter :authorize_user, :if => Proc.new {|c| c.request.remote_ip == '127.0.0.1'} 
+0

这并不为我工作。这个工作的Rails是什么版本? 3.2.12 [没有文档](http://guides.rubyonrails.org/v3.2.12/action_controller_overview.html#filters)这个 – 2013-09-09 15:48:53

+0

适合我。 Ruby 2.0语法:':if - > {request.remote_ip =='127.0.0.1'}' – 2015-05-14 20:41:44