[RUBY] Devise vorstellen

Einführung des Geräteflusses in Rails

1. Installieren Sie Gem und starten Sie den Server neu

2. Erstellen Sie mithilfe von Befehlen eine Konfigurationsdatei

3. Erstellen Sie ein Benutzermodell mit Befehlen

4. Implementierung, die die Schaltflächenanzeige ändert, wenn sie nicht angemeldet ist und wenn sie angemeldet ist

5. Stellen Sie die Umleitung am Controller ein

Entwickeln Sie eine Edelsteininstallation

Gemfile


#Unterlassung
gem 'devise'

Terminal


#Starten Sie den Server
% rails s

Führen Sie den Befehl aus, um eine Konfigurationsdatei zu erstellen

Terminal


#Erstellen Sie eine Konfigurationsdatei
% rails g devise:install

Führen Sie einen Befehl aus, um ein Benutzermodell zu erstellen

Terminal


#Erstellen Sie ein Benutzermodell mit dem Befehl devise
% rails g devise user

Führen Sie die Migration durch

Terminal


#Führen Sie die Migration durch
% rails db:migrate

Starten Sie den lokalen Server neu

Terminal


# 「ctrl +Beenden Sie den lokalen Server mit "C"

#Starten Sie den lokalen Server erneut
% rails s

Bereiten Sie die Umleitungsverarbeitung vor

app/controllers/tweets_controller.rb


class TweetsController < ApplicationController
  before_action :set_tweet, only: [:edit, :show]
  before_action :move_to_index, except: [:index, :show]

  def index
    @tweets = Tweet.all
  end

  def new
    @tweet = Tweet.new
  end

  def create
    Tweet.create(tweet_params)
  end

  def destroy
    tweet = Tweet.find(params[:id])
    tweet.destroy
  end

  def edit
  end

  def update
    tweet = Tweet.find(params[:id])
    tweet.update(tweet_params)
  end

  def show
  end

  private
  def tweet_params
    params.require(:tweet).permit(:name, :image, :text)
  end

  def set_tweet
    @tweet = Tweet.find(params[:id])
  end

  def move_to_index
    unless user_signed_in?
      redirect_to action: :index
    end
  end
end

Führen Sie den Befehl aus, um eine Ansicht für das Gerät zu erstellen

Terminal


rails g devise:views

Fügen Sie der Benutzertabelle eine Spitznamenspalte als Zeichenfolgentyp hinzu

Terminal


#Stellen Sie sicher, dass das Verzeichnis piktig ist
% pwd

#Erstellen Sie eine Migrationsdatei, die der Benutzertabelle eine Spitznamenspalte vom Typ string hinzufügt
% rails g migration AddNicknameToUsers nickname:string

#Führen Sie die erstellte Migration aus
% rails db:migrate

Terminal


# 「ctrl +Beenden Sie den lokalen Server mit "C"

#Starten Sie den lokalen Server erneut
% rails s

Bearbeiten Sie application_controller.rb

app/controllers/application_controller.rb


class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  private
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
  end
end

das ist alles!

Standardmäßig funktionieren E-Mail und Passwort intern im Gerät. Wenn Sie also keine Spalten hinzufügen, müssen Sie diese nicht in die Parameter schreiben!

Recommended Posts

Devise vorstellen
Devise vorstellen
[Rails] Einführung in das Gerät
Einführung von RSpec
Verfahren entwickeln
[Schienen] erfinden
Vorstellung der Bibliothek
Einführung von TDD (Erfolg)
[Rails] Einführung in jquery
Benutzerregistrierung erstellen
Einführung in ActionView :: Component
Einführung von TDD (Failure)