before_filter :foo
def foo
...
end
メソッド名のシンボルを与えてフィルターを指定する場合、
skip_before_filter :foo
でスキップできるけど、
before_filter do |controller|
...
end
ブロックを使った場合スキップする方法がわからないので ActionController::Filters の実装を調べたら、
before_filter :identifier => :foo do |controller|
...
end
とすることで、
skip_before_filter :foo
できることがわかった。
:identifier オプションは ActiveSupport::Callbacks::Callback のアトリビュートなので、 ActionController::Filters の実装が ActiveSupport::Callbacks::Callback を使っていない 2.0.X 以前のバージョンでは使えないと思われるので注意。
No comments:
Post a Comment