我使用的是Rails 2.3.5版本,遇到了以下问题:
class BaseController < ApplicationController
before_filter :foo, :only => [:index]
end
class ChildController < BaseController
before_filter :foo, :only => [:index, :show, :other, :actions]
end
问题在于在ChildController中,:foo 过滤器会被调用两次。我尝试了很多解决方法。如果我不在子类中包含 :index 操作,它在该操作上就不会被调用。
我找到的解决方案有效,但我认为它非常丑陋。
skip_before_filter :foo
before_filter :foo, :only => [:index, :show, :other, :actions]
有没有更好的方法解决这个问题?