[RUBY] Présentation de la devise

Flux d'introduction du dispositif dans les rails

1. Installez Gem et redémarrez le serveur

2. Créez un fichier de configuration de l'appareil à l'aide des commandes

3. Créez un modèle utilisateur à l'aide de commandes

4. Implémentation qui modifie l'affichage du bouton lorsqu'il n'est pas connecté et lorsqu'il est connecté

5. Définissez la redirection sur le contrôleur

concevoir l'installation de gemmes

Gemfile


#Omission
gem 'devise'

Terminal


#Démarrez le serveur
% rails s

Exécutez la commande pour créer un fichier de configuration

Terminal


#Créer un fichier de configuration de périphérique
% rails g devise:install

Exécuter une commande pour créer un modèle utilisateur

Terminal


#Créer un modèle utilisateur avec la commande devise
% rails g devise user

Effectuer la migration

Terminal


#Effectuer la migration
% rails db:migrate

Redémarrez le serveur local

Terminal


# 「ctrl +Quittez le serveur local avec "C"

#Redémarrez le serveur local
% rails s

Préparer le traitement de la redirection

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

Exécutez la commande pour créer une vue pour l'appareil

Terminal


rails g devise:views

Ajouter une colonne de pseudonyme comme type de chaîne à la table des utilisateurs

Terminal


#Assurez-vous que le répertoire est pictweet
% pwd

#Créez un fichier de migration qui ajoute une colonne de pseudonyme de type chaîne à la table des utilisateurs
% rails g migration AddNicknameToUsers nickname:string

#Exécutez la migration créée
% rails db:migrate

Terminal


# 「ctrl +Quittez le serveur local avec "C"

#Redémarrez le serveur local
% rails s

Modifier 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

c'est tout!

Par défaut, l'email et le mot de passe fonctionnent en interne dans l'appareil, donc si vous n'ajoutez pas de colonnes, vous n'avez pas besoin de les écrire dans les paramètres!

Recommended Posts

Présentation de la devise
Présentation de la devise
[Rails] Présentation du dispositif
Introduction de RSpec
Concevoir la procédure
[Rails] concevoir
Présentation de la bibliothèque
Présentation de TDD (succès)
[Rails] Présentation de jquery
concevoir l'enregistrement des utilisateurs
Présentation d'ActionView :: Component
Présentation de TDD (échec)