[RUBY] [Rails] Implementierung der Benutzerrückzugsfunktion

Hallo, das ist tt_tsutsumi. Dieses Mal möchte ich die Benutzerentzugsfunktion implementieren. Ich hoffe dieser Artikel hilft jemandem.

Ich möchte von Zeit zu Zeit Artikel über die Registrierung und Bearbeitung neuer Benutzer schreiben. Dieses Mal implementieren wir die Funktion zum Zurückziehen von Benutzern und verhindern, dass sich nicht abonnierte Benutzer anmelden.

1. Definition des Mitgliedschaftsstatus

Legen Sie den Mitgliedsstatus des Benutzers mit enum (boolescher Typ) fest. Der boolesche Typ ist ein Typ, der boolesche Werte speichert, und es können nur zwei Situationen registriert werden. Dieses Mal verwenden wir diesen Typ, da der Benutzer zwei Möglichkeiten hat: ** gültiges Mitglied oder zurückgezogenes Mitglied **. Wenn ** is_active ** ** true (gültiges Mitglied) ** ist, müssen Sie sich anmelden.

user.rb


    enum is_active: {Available: true, Invalid: false}
    #Richtig für gültige Mitglieder, falsch für zurückgezogene Mitglieder

    def active_for_authentication?
        super && (self.is_active === "Available")
    end
    #is_Wenn aktiv gültig ist, ein gültiges Mitglied(Sie können sich anmelden)

2. Beschreibung der Route

routes.rb


    resources :users do
        member do
            get "check"
            #Benutzermitgliedschaftsstatus abrufen
            patch "withdrawl"
            #Aktualisieren Sie den Status der Benutzermitgliedschaft
        end
    end

3. Erstellen Sie eine Aktion

Erstellen Sie als Nächstes eine Aktion auf dem Controller.

users_controller



def check
    @user = User.find(params[:id])
    #Hier finden Sie Benutzerinformationen
end

def withdrawl
    @user = User.find(current_user.id)
    #Der aktuell angemeldete Benutzer@Im Benutzer speichern
    @user.update(is_active: "Invalid")
    #Ändern Sie die Registrierungsinformationen bei Aktualisierung in "Ungültig"
    reset_session
    #Sitzungs-ID zurücksetzen
    redirect_to root_path
    #Pfad zum angegebenen Stamm
end

private

def user_params
    params.require(:user).permit(:active)
end

4. Erstellen Sie einen Link

Erstellen Sie einen Link und melden Sie den Benutzer ab. Da die Methode aktualisiert anstatt gelöscht wird, wird sie als Patch bezeichnet.

ruby:withdrawl.html.erb



<div class="withdrawl">
    <%= link_to "Withdrawal", withdrawl_user_path(@user.id), method: :patch %>
</div>

Jetzt können Sie die Funktion zum Zurückziehen von Benutzern implementieren und verhindern, dass sich nicht abonnierte Benutzer anmelden. Danke für Ihren Besuch !!

Recommended Posts

[Rails] Implementierung der Benutzerrückzugsfunktion
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung des logischen Löschens durch den Benutzer
[Rails] Asynchrone Implementierung der Like-Funktion
[Rails] Implementierung der Bildvorschau
[Rails] Über die Implementierung der Like-Funktion
[Rails] Implementierung der CSV-Exportfunktion
Implementierung der Benutzerauthentifizierungsfunktion mit devise (2)
Implementierung der Benutzerauthentifizierungsfunktion mit devise (1)
Rails [Für Anfänger] Implementierung der Kommentarfunktion
Implementierung der Benutzerauthentifizierungsfunktion mit devise (3)
[Ruby on Rails] Implementierung einer ähnlichen Funktion
Implementierung der Suchfunktion
Implementierung der Pagenationsfunktion
[Rails] Implementierung der Suchfunktion mit Gem's Ransack
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
[Rails] Implementierung der Bildvergrößerungsfunktion mit Lightbox2
Implementierung der Ajax-Entfernung in Rails
Implementierung der Fuzzy-Suchfunktion für Schienen
[Schienen] Implementieren Sie die Benutzersuchfunktion
Implementierung der sequentiellen Suchfunktion
Implementierung einer ähnlichen Funktion (Ajax)
Implementierung der Bildvorschau
Implementierung der Kategorie-Pulldown-Funktion
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Vorbereitung"
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der "Seed Edition" der Vorfahren
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Erstellungsformular"
Implementierung der Rails-Sortierfunktion (angezeigt in der Reihenfolge der Anzahl der Gleichen)
[Rails] Implementierung von Viele-zu-Viele-Kategoriefunktionen
Implementierung der Funktionsfunktion [Rails] gem ancestry category
[Ruby on Rails] Implementierung der Kommentarfunktion
[Rails] Memo zur Implementierung der Kommentarfunktion
Implementierung einer ähnlichen Funktion in Java
[Rails] Implementierung der Couponfunktion (mit automatischer Löschfunktion mittels Stapelverarbeitung)
[Rails] Implementierung der Tag-Funktion mit Acts-as-Taggable-On und der Funktion zur Vervollständigung der Tag-Eingabe mit Tag-It
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
Schienen Hinzufügen einer einfachen Anmeldefunktion
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
Rails Grundgerüst für die Implementierung der CRUD-Funktion
[Rails] Implementierung einer Validierung, die die Eindeutigkeit beibehält