У меня странное поведение Rails 3.0.10. Получил этот контроллер приложения:
приложение / контроллеры / application_controller.rb
require 'api/api_controller'
# rest not important
приложение / контроллеры / API / api_controller.rb
class Api::ApiController < ActionController::Base
before_filter :require_user
def require_user
@user = User.find(xxx, yyy)
end
end
и затем этот контроллер:
приложение / контроллеры / 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
Моя проблема в том, что когда я запускаю это в режиме production , фильтр require_user НЕ вызывается. Когда я пытаюсь сделать это в режиме development , он работает.
Теперь я понимаю, что в режиме разработки классы перезагружаются, но вопрос в том, почему не вызывается фильтр require_user?
Редактировать: Обратите внимание, что контроллер переменного тока находится перед лексикографически перед контроллером API.