--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
~
(https://qiita.com/yongjugithub/items/dbb880f085f99cc9af93)
Recommended Posts