[RUBY] Implémentez la fonction de connexion dans Rails simplement avec juste un nom et un mot de passe (2)

Suite de précédent. À partir de là, nous mettrons en œuvre l'écran de connexion et le processus de connexion

procédure

--Créer un contrôleur de session

MacBook % rails g controller Sessions new

--Modifiez le fichier de routes comme suit

config/routes


Rails.application.routes.draw do
get '/login', to: 'sessions#new'
post '/login', to: 'sessions#create'
delete '/logout', to: 'sessions#destroy'
~

app/views/sessions/new.html.erb


<body>
  <h1>Login</h1>
  <%= form_for(:session, url: login_path) do |f| %>
    <div class="input-name">
      <%= f.label :password, 'Nom de la salle' %>
      <%= f.text_field :name, placeholder: "Veuillez saisir le nom de la chambre" %>
    </div>
    <div class="form-group">
      <%= f.label :password, 'mot de passe' %>
      <%= f.password_field :password, placeholder: 's'il vous plait entrez votre mot de passe' %>
      <%= f.submit 'S'identifier' %>
    </div>
  <% end %>
</body>

--Créez un formulaire et accédez à http: // localhost: 3000 / login pour vérifier

app/controllers/sessions_controller.rb


class SessionsController < ApplicationController
  def new
  end

  def create
    room = Room.find_by(name: params[:session][:name])
    if room && room.authenticate(params[:session][:password])
    else
    end
  end

  def destroy
  end
end

app/controllers/sessions_controller.rb


~
  def create
    room = Room.find_by(name: params[:session][:name])
    if room && room.authenticate(params[:session][:password])
    else
      flash[:alert] = 'Le nom ou le mot de passe est incorrect'
      redirect_to '/login'
    end
  end
~

app/controllers/application_controller.rb


class ApplicationController < ActionController::Base
  include SessionsHelper
end

--Définir la méthode d'assistance, méthode log_in

app/helpers/sessions_helper.rb


module SessionsHelper
  #Stockez le roomID chiffré dans des cookies temporaires dans le navigateur
  def log_in(room)
    session[:room_id] = room.id
  end
end

/app/controllers/sessions_controller.rb


~
  def create
    room = Room.find_by(name: params[:session][:name])
    if room && room.authenticate(params[:session][:password])
      log_in room
      redirect_to receptions_path
    else
      flash[:alert] = 'Le nom ou le mot de passe est incorrect'
      redirect_to '/login'
    end
  end
~
Vous pouvez maintenant vous connecter depuis l'écran du navigateur.

Suite [Implémentation de la fonction de connexion avec Rails simplement par nom et mot de passe (3)]

(https://qiita.com/yongjugithub/items/dbb880f085f99cc9af93)

Recommended Posts

Implémentez la fonction de connexion dans Rails simplement avec le nom et le mot de passe (1)
Implémentez la fonction de connexion dans Rails simplement avec juste un nom et un mot de passe (2)
Implémentez la fonction de connexion simplement avec le nom et le mot de passe dans Rails (3)
Implémenter une fonction de connexion simple dans Rails
Implémenter la fonction d'application dans Rails
Comment implémenter le processus d'authentification en spécifiant le nom d'utilisateur et le mot de passe dans Spring Boot
[Ruby on Rails] Implémenter la fonction de connexion par add_token_to_users avec l'API
Implémenter la fonction de téléchargement CSV dans Rails
Implémenter la fonction d'enregistrement des utilisateurs et la fonction d'enregistrement de l'entreprise séparément dans Rails concevoir
[Rails] Restrictions de fonction dans l'appareil (connexion / déconnexion)
Rails Ajout d'une fonction de connexion facile et facile
Fonction de publication implémentée par communication asynchrone dans Rails
Mettre en œuvre la fonction de classement par étoiles en utilisant Raty dans Rails 6
Implémenter des itérations dans View en rendant une collection [Rails]
Markdown implémenté dans Rails
Comment implémenter la connexion invité en 5 minutes sur le portefeuille de rails
Implémenter la fonction de recherche de publication dans l'application Rails (méthode where)
[Rails] Implémentez la fonction d'enregistrement / suppression de carte de crédit dans PAY.JP
Implémenter l'authentification LTI dans Rails
Avec Spring Boot, hachez le mot de passe et utilisez l'enregistrement des membres et la sécurité Spring pour implémenter la fonction de connexion.
[Rails] Implémenter la fonction de publication d'images
[Rails] Un moyen simple d'implémenter une fonction d'auto-introduction dans votre profil
J'ai essayé d'implémenter le traitement Ajax de la fonction similaire dans Rails
Les rails 6 (avec Webpacker en standard) implémentent la fonction de classement par étoiles
Ajoutez une fonction de recherche dans Rails.
Activer jQuery et Bootstrap dans Rails 6 (Rails 6)
[rails] Implémentation de l'écran de connexion dans la devise
Implémenter la fonction PHP implode en Java
Implémenter un formulaire de contact dans Rails
Supprimez les "actifs" et les "turbolinks" dans "Rails6".
Fonction CRUD et MVC dans Rails
[Ruby on Rails] Comment se connecter avec seulement votre nom et mot de passe en utilisant le bijou
Comment mettre en œuvre un diaporama en utilisant Slick in Rails (un par un et plusieurs par un)
"Professeur, je souhaite implémenter une fonction de connexion au printemps" ① Hello World
Comment implémenter la fonctionnalité de recherche dans Rails
Comment changer le nom de l'application dans les rails
Essayez d'implémenter une fonction de connexion avec Spring-Boot
Créez quand même une fonction de connexion avec Rails
Comment implémenter la fonctionnalité de classement dans Rails
Implémenter des transitions de boutons à l'aide de link_to dans Rails
Implémentation de la fonction de connexion par Spring Security (securityConfig)
Un mémo pour créer un formulaire simple en utilisant uniquement HTML et CSS dans Rails 6
[Rails] Donnez cet article à vous qui avez recherché "login nom de devise"
Analyser en Java les chaînes de date et d'heure formatées par la fonction asctime du langage C