Annahme: Dieses Mal wird der Vorgang mit dem Artikelcontroller ausgeführt.
class ItemsController < ApplicationController
before_action :move_to_signed_in, except: [:index]
def index
#Generierung von Top-Seiten
end
private
def move_to_signed_in
unless user_signed_in?
#Benutzer, die nicht angemeldet sind, sehen die Anmeldeseite
redirect_to '/users/sign_in'
end
end
before_action :move_to_signed_in, except: [:index]
before_action → Eine Methode, die die angegebene allgemeine Verarbeitung ausführen kann, bevor die im Controller definierte Aktion ausgeführt wird. außer: [: index] → Indexaktion ist ausgeschlossen -Wenn andere Aktionen als die Indexaktion ausgeführt werden, wird move_to_signed_in verarbeitet. Mit anderen Worten, wenn die obere Seite angezeigt wird, wird der Prozess move_to_signed_in nicht ausgeführt.
def move_to_signed_in
unless user_signed_in?
#Benutzer, die nicht angemeldet sind, sehen die Anmeldeseite
redirect_to '/users/sign_in'
end
user_signed_in? → Bestimmen Sie, ob der Benutzer angemeldet ist es sei denn → "wenn nicht" es sei denn, user_signed_in? → Wenn der Benutzer nicht angemeldet ist redirect_to '/ users / sign_in' → Auf Anmeldeseite übertragen
Wenn der Benutzer versucht, eine andere Aktion als die Indexaktion auszuführen (z. B. Erstellen) Stellen Sie fest, ob Sie ein angemeldeter Benutzer sind. Wenn der Benutzer nicht angemeldet ist, wechselt der Bildschirm zur Anmeldeseite (/ users / sign_in). Wenn Sie sich anmelden können, können Sie die vom Benutzer angegebene Aktion ausführen.
Recommended Posts