是否可以从另一个调用before_filter?我问的原因是因为我有两个相似的before_filters,但是有一个额外的条件仍然可以让它成为现实。因此,如果第一个before_filter为真,那么第二个也为真,但如果第一个为假,则检查另一个条件,然后确定它是真还是假。
答案 0 :(得分:1)
过滤器只是方法是正确的,所以要回答你的问题:
是的,可以从其他过滤器调用过滤器。
但请注意,您不应渲染或重定向两次,否则您将收到AbstractController::DoubleRenderError
。因此,如果其中一个过滤器正在渲染,则不应调用另一个过滤器。
使用布尔返回值来管理它。
答案 1 :(得分:0)
你可以。 before_filter只是一个调用常规方法的触发器。该方法可以调用任何其他方法,甚至是其他before_filters调用的方法。
答案 2 :(得分:-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