1

是否可以从另一个调用 before_filter ?我问的原因是因为我有两个相似的 before_filters,但一个有一个额外的条件仍然可以让它为真。因此,如果第一个 before_filter 为真,则第二个也为真,但如果第一个为假,则检查另一个条件,然后确定它是真还是假。

4

3 回答 3

1

过滤器只是方法是正确的,所以回答你的问题:

是的,可以从其他过滤器调用过滤器。

但请注意,您不应渲染或重定向两次,否则您将收到一个AbstractController::DoubleRenderError. 因此,如果其中一个过滤器正在渲染,则不应调用另一个过滤器。

使用布尔返回值来管理它。

于 2014-10-11T20:21:05.760 回答
0

你可以。before_filter 只是一个调用常规方法的触发器。该方法可以调用任何其他方法,甚至是其他 before_filters 调用的方法。

于 2013-01-09T00:48:27.233 回答
-1

如果你不想结合我的方法,你可以做这样的事情。

before_filter :filter_method

def filter_method
 if method_one == true
  method_two
 end
end

def method_one
 # stuff here
end

def method_two
 # stuff here
end
于 2013-01-08T23:00:52.123 回答