Furcsa viselkedésem van a Rails 3.0.10-nél. Megvan ez az alkalmazásvezérlő:
app/controllers/application_controller.rb
require 'api/api_controller'
# rest not important
app/controllers/api/api_controller.rb
class Api::ApiController < ActionController::Base
before_filter :require_user
def require_user
@user = User.find(xxx, yyy)
end
end
majd ez a vezérlő:
app/controllers/api/ac_controller.rb
class Api::AcController < Api::ApiController
before_filter :find_pool, :only => [:add_pool, :remove_pool]
def add_pool
# some logic that needs @user to be set
end
def remove_pool
# some logic that needs @user to be set
end
def find_pool
# some logic here
end
end
A problémám az, hogy amikor ezt gyártási módban futtatom, a request_user szűrő NEM hívódik meg. Ha ezt fejlesztési módban kipróbálom, akkor működik.
Értem, hogy fejlesztési módban az osztályok újratöltés alatt állnak, de a kérdés az, hogy miért NEM hívják meg a request_user szűrőt?
Szerkesztés: Kérjük, vegye figyelembe, hogy az AC vezérlő lexikográfiailag megelőzi az API vezérlőt.