Skip to content

Latest commit

 

History

History
77 lines (50 loc) · 2.17 KB

3.Installez device.md

File metadata and controls

77 lines (50 loc) · 2.17 KB

Installez device

Vous allez installer devise, un module sécurisé d'inscription et connexion qui va nous permettre de mettre en place rapidement le module d'authentification de notre application.

Dans le gemfile

gem 'devise'  

Installer le gem avez bundle install dans le terminal.

Ensuite vous allez taper dans la console

rails generate devise:install

Device va charger et installer différents fichiers pour vous.

Vous allez aussi générer notre table Utilisateur (User), en tapant dans le terminal la commande :

rails generate devise User

On constate la création du model User dans app/models et un fichier de migration pour la création de la table User dans db/migrate.

Afin de créer réellement la table User, vous allez exécuter la migration

rake db:migrate 

Générer la création des vues (formulaires) de device

rails g devise:views 

Cette commande crée toutes les pages de devise: connexion, inscription, mise à jour du profile...

Pour chaque action (exemple: connexion / inscription) on a maintenant une page avec laquelle les utilisateurs pourront interagir et donc s'inscrire ou se connecter.

Vous allez ensuite ajouté dans application.html.erb entre les balises l'affichage des notifications:

<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>

Pour tester un peu ce qu'on vient de faire, vous pouvez ajouter 3 liens à notre page d’accueil pour accéder aux pages 'Inscription', 'Connexion' et 'Déconnexion' dans home.html.erb:

<%= link_to 'Inscription', new_user_registration_path %> 
<%= link_to 'Identification', new_user_session_path %>
<%= link_to 'Déconnexion', destroy_user_session_path, method: :delete %>

Vous pouvez ensuite mettre à jour le fichir routes.rb pour changer les chemins d’accès et configurer device.

devise_for :users, path: 'auth',
                   path_names: {
                      sign_in: 'login',
                      sign_out: 'logout',
                      edit: 'profile'
                   }

Pour aller plus loin:

Device