Ich denke, Sie fragen, wie man einen vor-Filter nur dann ausführt, wenn ein Benutzer angemeldet ist. Es gibt keine integrierte Semantik dafür, aber es ist einfach genug, inline zu schreiben:
%Vor% Wenn Sie wirklich nicht möchten, dass before_filter
für andere als angemeldete Benutzer ausgeführt wird, sollten Sie #skip_before_filter
in Ihrem Authentifizierungsfilter. Wenn Sie zum Beispiel überprüfen, ob Benutzer in Ihrem Authentifizierungsfilter angemeldet sind, rufen Sie bei fehlgeschlagener Authentifizierung einfach skip_before_filter :filter_for_logged_in_users_only
.
Darüber hinaus können Sie einfach testen, ob der Benutzer angemeldet ist, bevor Sie den Filter "Nur für Mitglieder" ausführen. Zum Beispiel:
%Vor% Wenn Sie eine beruhigende Authentifizierung verwenden, ist dies nur before_filter :login_required
. Wenn Sie Ihr eigenes Authentifizierungs-Framework verwenden, können Sie in application.rb eine Methode erstellen, die true zurückgibt, wenn der Benutzer angemeldet ist, oder andernfalls auf die Anmeldeseite umleitet.
Tags und Links ruby-on-rails