2011-11-30 66 views
1

我如何可以添加自定义条件after_filterbefore_filterrails 3.1,如何将自定义条件添加到after_filter?

我怎么能有这样的事情:

after_filter :handle_student_time_tracking, :condition=> (!current_student.nil?) 

我可以把条件内handle_student_time_tracking但是,我认为这是一个更好的办法 请建议

回答

3

你应该把条件放在你的过滤器中,而不是在after_filter调用。就像这样:

after_filter :handle_student_time_tracking 

def handle_student_time_tracking 
    raise "I'm in an after filter!" if current_student.present? 
end 

该过滤器提供了可用于操作,如onlyexcept的条件,而不是基于其他条件。

参考:

+0

感谢,我希望有另一种方式:-) – simo

+1

@simo这似乎并非如此:https://github.com /rails/rails/blob/4f940820f29f8fc9c9113baca709aae11683b596/actionpack/lib/abstract_controller/callbacks.rb#L28你应该可以使用':if' –

相关问题