[RUBY] Implementieren Sie die Anmeldefunktion in Rails einfach mit Name und Passwort (3).

Letztes Mal wurde fortgesetzt

Überblick

Obwohl die Anmeldefunktion bis zum letzten Mal verfügbar war, bleibt ein Fehler bestehen, dass nicht bekannt ist, welcher Benutzer im aktuellen Status angemeldet ist, und auf die Listenseite zugegriffen werden kann, ohne sich anzumelden. Komm damit klar

Verfahren

--current_room Methode. Fügen Sie eine Hilfsmethode hinzu, um den aktuell angemeldeten Benutzer anzuzeigen

app/helpers/sessions_helper.rb


  #Wenn ein angemeldeter Benutzer vorhanden ist, ersetzen Sie den Benutzer
  def current_room
    if session[:room_id]
      @current_room ||= Room.find_by(id: session[:room_id])
    end
  end

app/helpers/sessions_helper.rb


  #Stellen Sie fest, ob Sie angemeldet sind
  def logged_in?
    !current_room.nil?
  end

--Schreiben Sie die Abmeldemethode an zwei Stellen.

app/helpers/sessions_helper.rb


  def log_out
    session.delete(:room_id)
    @current_room = nil
  end

app/controllers/sessions_controller.rb


  def destroy
    log_out
    redirect_to login_path
  end

Anmeldegesteuerte Seite


~
 <div class="header-title">
    <div class="header-title">Empfangsliste: 
    <%= current_room.name %>
    <%= link_to "Logout", logout_path, method: :delete %>
    </div>
 </div>
~

app/controllers/receptions_controller.rb


class ReceptionsController < ApplicationController
  before_action :logged_in_room, only: [:index]
~
  private
    def logged_in_room
      unless logged_in?
        flash[:alert] = "Login ist erforderlich"
        redirect_to login_path
      end
    end
~

Damit ist die einfache Anmeldefunktion für die Listenseite abgeschlossen.

Recommended Posts

Implementieren Sie die Anmeldefunktion in Rails einfach mit Name und Passwort (3).
Implementieren Sie die Anmeldefunktion in Rails einfach mit Name und Passwort (1)
Implementieren Sie die Anmeldefunktion in Rails einfach mit nur einem Namen und einem Passwort (2).
Implementieren Sie eine einfache Anmeldefunktion in Rails
Implementieren Sie die Anwendungsfunktion in Rails
[Ruby on Rails] Implementieren Sie die Anmeldefunktion von add_token_to_users mit API
Implementieren Sie die CSV-Download-Funktion in Rails
Implementieren Sie die Benutzerregistrierungsfunktion und die Unternehmensregistrierungsfunktion separat in Rails devise
Hash beim Spring-Boot das Passwort und verwenden Sie die Mitgliederregistrierung und die Spring-Sicherheit, um die Anmeldefunktion zu implementieren.
[Rails] Funktionseinschränkungen im Gerät (Login / Logout)
Schienen Hinzufügen einer einfachen Anmeldefunktion
Versuchen Sie, eine Anmeldefunktion mit Spring-Boot zu implementieren
Erstellen Sie trotzdem eine Anmeldefunktion mit Rails
[Ruby on Rails] So melden Sie sich nur mit Ihrem Namen und Passwort mit dem Gem-Gerät an
Implementieren Sie die Sternebewertungsfunktion mit Raty in Rails 6
Versuchen Sie, die Anmeldefunktion mit Spring Boot zu implementieren
Markdown in Rails implementiert
So implementieren Sie die Gastanmeldung in 5 Minuten im Rails-Portfolio
Implementieren Sie die Nachsuchfunktion in der Rails-Anwendung (where-Methode).
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
So implementieren Sie den Authentifizierungsprozess durch Angabe von Benutzername und Kennwort in Spring Boot
[Schienen] Implementieren Sie die Benutzersuchfunktion
Japanisieren Sie mit i18n mit Rails
[Rails] Implementieren Sie die Image-Posting-Funktion
[Rails] Eine einfache Möglichkeit, eine Selbsteinführungsfunktion in Ihrem Profil zu implementieren
Ich habe versucht, die Ajax-Verarbeitung der ähnlichen Funktion in Rails zu implementieren
Ich habe versucht, die Bildvorschau mit Rails / jQuery zu implementieren
Rails 6 (standardmäßig mit Webpacker) implementiert die Sternebewertungsfunktion
Fügen Sie eine Suchfunktion in Rails hinzu.
Aktivieren Sie jQuery und Bootstrap in Rails 6 (Rails 6).
[Rails] Implementierung des Anmeldebildschirms in Devise
Implementieren Sie die PHP-Implodierungsfunktion in Java
Entfernen Sie "Assets" und "Turbolinks" in "Rails6".
CRUD-Funktion und MVC in Rails
Implementieren Sie die Anmeldung, Benutzerregistrierung und Zwei-Faktor-Authentifizierung mit Docker x Laravel 8 Jetstream
Melden Sie sich bei Apple mit gem's apple_id in Rails an und zwischenspeichern Sie Apples JWK
[Rails 6] Registrieren und Anmelden mit Devise + SNS-Authentifizierung (mehrere Links zulässig)
Ich habe eine Lambda-Funktion in Java geschrieben und mit SAM bereitgestellt
[Rails] Implementieren Sie die Produktkauffunktion mit einer bei PAY.JP registrierten Kreditkarte
"Lehrer, ich möchte im Frühjahr eine Anmeldefunktion implementieren" ① Hallo Welt
So ändern Sie den App-Namen in Rails
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
Authentifizierungsfunktion mit Play Framework [Registrierung und Authentifizierung]