2011-11-30 69 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' –

相關問題