[RUBY] So beschränken Sie die Aktion des Übergangsziels, wenn Sie nicht angemeldet sind

Hintergrund

Dieses Mal werde ich vorstellen, wie der Übergang eingeschränkt wird, damit Benutzer, die nicht angemeldet sind, nur zur angegebenen Seite wechseln können.

Was du machen willst

Benutzer, die nicht angemeldet sind, können nur zum Index wechseln und Seiten anzeigen. Wenn sie versuchen, zur neuen Seite zu wechseln oder die Seite zu bearbeiten, müssen sie zur Indexseite wechseln.

Wie benutzt man

Code, der wiederholt in der Steuerung verwendet wird, wird unter privat zu einer Methode. Wenn Sie bei der folgenden Verarbeitung versuchen, zu einer anderen Seite als dem Index zu wechseln und die Seite anzuzeigen, während der Benutzer nicht angemeldet ist, müssen Sie zur Indexseite wechseln.

controller.rb


class PracticeController < ApplicationController
  before_action :move_to_index, except: [:index, :show]

  ~Kürzung~

  private

  def  move_to_index
    redirect_to action: :index unless user_signed_in?
  end

das ist alles

Recommended Posts

So beschränken Sie die Aktion des Übergangsziels, wenn Sie nicht angemeldet sind
[Rails Devise] So wechseln Sie Benutzer, die nicht auf der Anmeldeseite angemeldet sind
So ermitteln Sie die Gesamtzahl der Seiten beim Paging in Java
Festlegen, wann in junit "Der Konstruktor Empty () ist nicht sichtbar" auftritt
[Java] So erhalten Sie die URL der Übergangsquelle
So erhalten Sie den Klassennamen des Arguments von LoggerFactory.getLogger, wenn Sie SLF4J in Java verwenden
Zusammenfassung der Verwendung des im IE festgelegten Proxy-Sets bei der Verbindung mit Java
So stellen Sie die Chronik ein, wenn sich die Zeit in CentOS7 verschiebt
So erhalten Sie das Protokoll, wenn install4j nicht gestartet wird
So leiten Sie den letzten Tag des Monats in Java ab
So lösen Sie das Problem, wenn der Wert nicht gesendet wird, wenn das Formular in Schienen deaktiviert und gesendet wird
[Rails] So erhalten Sie die URL der Übergangsquelle und leiten sie um
[jOOQ] Wie in der WHERE / AND / OR-Klausel WANN FALLEN
So erhalten Sie die ID des automatisch inkrementierten PRIMAY-Schlüssels in MyBatis
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
So ermitteln Sie die Länge einer Audiodatei mit Java
So erhöhen Sie den Wert von Map in einer Zeile in Java
So verhindern Sie, dass Benutzer, die nicht angemeldet sind, zur neuen Seite oder zur Bearbeitungsseite wechseln
Was tun, wenn "Relation" hibernate_sequence "nicht existiert" in der ID-Spalte von PostgreSQL + JPA
Speicherort der Methodendefinition Zusammenfassung der zu überprüfenden Informationen Wenn im Projekt und in Rails / Gem definiert
[Rails] So speichern Sie die Anforderungs-URL eines Benutzers, der nicht angemeldet ist, vorübergehend und kehren nach der Anmeldung zu dieser URL zurück
So sortieren Sie eine Liste von SelectItems
So erhalten Sie das Datum mit Java
So machen Sie den Einzug zu zwei Einzelbyte-Leerzeichen in der JAXB-Implementierung des JDK
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
[Rails] So erhalten Sie die aktuell mit devise angemeldeten Benutzerinformationen
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
[Rails] Die Ursache dafür, dass nicht gepostet werden konnte, war in form_with
Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft
So verweisen Sie auf eine Spalte, wenn Sie die Spaltennamensmethode in ActiveRecord überschreiben
Ändern Sie das Speicherziel des Bildes in der Rails-App in S3. Teil 2
So lösen Sie das Problem, dass die Bean beim Verschachteln in Spring Batch nicht ordnungsgemäß verarbeitet wird
[RSpec] Wenn Sie die Instanzvariable des Controllers im Test verwenden möchten [Zuweisungen wird nicht empfohlen]
[Swift] So ermitteln Sie die Anzahl der Elemente in einem Array (Super Basic)
Zusammenfassung der Auswahl von Elementen in Selen
[Rails] So bestimmen Sie das Ziel anhand von "Rails-Routen"
So finden Sie die Ursache des Ruby-Fehlers
[Ruby on Rails] So machen Sie das Linkziel zu einem Teil der angegebenen ID
graphql-ruby: So erhalten Sie den Namen der Abfrage oder Mutation im Controller Hinweis
So überprüfen Sie das Protokoll im Docker-Container
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
Wenn Eclipse den Server nicht starten kann
So überprüfen Sie die neueste Version von io.spring.platform für das Schreiben in pom.xml von Spring (STS)
[Fehler] So beheben Sie das Phänomen, dass der Bildschirm nach der Bearbeitung nicht wechselt
Wie komme ich zum heutigen Tag?
[Swift] So ändern Sie die Reihenfolge der Balkenelemente in Tab Bar Controller [Anfänger]
So löschen Sie die Datenbank beim Neuerstellen der App
So beheben Sie den Fehler 'ActionView :: Template :: Error' (Das Asset "application.css" ist in der Asset-Pipeline nicht vorhanden. '"Beim Vorkompilieren von Rails-Assets
Verwendung von JQuery in Rails 6 js.erb
[Hinweis] [Anfänger] Schreiben, wenn der Wert eines Array-Elements in einem sich wiederholenden Satz von Ruby geändert wird
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an