Vérifiez si le contrôleur actuel a parent d'un autre contrôleur à l'intérieur du application_controller

StackOverflow https://stackoverflow.com/questions/4206885

  •  25-09-2019
  •  | 
  •  

Question

J'ai une partie de separete du site pour les clients, dédiés séparés, ils ont des outils sous / chemin dédié et tous les contrôleurs qu'ils ont sont inheritences de DedicatedController. Je veux créer un before_filter dans application_controller pour protéger ces clients d'ouvrir d'autres pages qui ne sont pas les contrôleurs qui ont hérité par dedicated_controlle.

Était-ce utile?

La solution

Si vous utilisez un before_filter dans le ApplicationController pour empêcher les clients d'aller aux pages là, vous pouvez utiliser skip_filter dans le contrôleur de base pour la DedicatedController.

Donc, pour nous, nous avons:

class ApplicationController
  before_filter :ensure_not_a_customer
  .
  .
end
class Admin::BaseController < ApplicationController
  skip_filter :ensure_not_a_customer
  .
  .
end
class Admin::WebpageController < Admin::BaseController
  .
  .
end

Alors rien hérité de l'administrateur :: BaseController sautera le before_filter du ApplicationController.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top