5 Stimmen

before_filter mit einem anderen Controller

Ich versuche, eine Aktion zu erstellen, die für jede Seite überprüft, ob der Benutzer angemeldet ist. Zu diesem Zweck muss im Controller Home Ich habe diese Methode entwickelt:

def check_session
  if !session[:user_id]
    redirect_to :action=> 'login'
  end
end

Und ich habe diesen Code an den Anfang des Controllers gesetzt:

before_filter :check_session, :except => [:sub_layout, :authenticate, :login]

Jetzt möchte ich check_session von außerhalb der Seiten von Home zum Beispiel auf den Seiten von Users . Was ist die korrekte Syntax für den Aufruf einer Methode eines anderen Controllers in der before_filter ?

7voto

JackCA Punkte 4845

Wenn Sie alles, was Sie bereits haben, in den application_controller verschieben, wird er nach jedem Controller in Ihrer Anwendung suchen. Verwenden Sie dann die Methode :skip_before_filter um die Prüfung für die gewünschten Steuergeräte/Aktionen zu umgehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X