Я бы хотел вызвать фильтр перед каждым действием каждого контроллера моего приложения rails.before_filter в ApplicationController not called (Rails 4)
Чтобы достичь этого, я просто использовал before_filter
внутри моего ApplicationController.
Однако, это не сработает, и мой метод никогда не вызывается, когда я получаю действительный запрос.
Вот содержание моего ApplicationController:
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_filter :authenticate_with_token
def authenticate_with_token
begin
auth = AuthenticatorService.new
auth.authenticate params[:email], params[:token], request.method, request.fullpath
@current_user = auth.user
return true
rescue Exception => e
return false
end
end
end
Даже если before_filter не должно быть устаревшим в рельсах 4, я также пытался использовать before_action
, но результат остается тем же.
Любое решение?
Убедитесь, что все остальные контроллеры наследуются от контроллера приложений: 'OtherController
Danpe
Это было ... Я наследовал от ActionController :: База вместо ApplicationController. Благодаря! –
Вы можете использовать before_action вместо before_filter – Sanket