Créer des comptes utilisateurs avec DEVISE : https://github.com/plataformatec/devise
Ou direct pour les instructions : https://github.com/plataformatec/devise#getting-started
Vidéo https://www.youtube.com/watch?v=rrC37eeMNIY
Ajouter gem dans « Gemfile » : gem 'devise'
Pour installer la gem : bundle install
On doit génerer DEVISE : rails generate devise:install
Générer controller : rails g controller Home index attention root 'home/index' fait bugger => ne rajouter que get 'home/index' Générer devise user : rails g devise User
Migration : rails db:migrate
Vérification des routes : rails routes
Générer les sign in : sign up.. sur la homepage :
<% if user_signed_in? %>
<li>
<%= link_to " Sign Out ", destroy_user_session_path, method: :delete %>
</li>
<li>
<%= current_user.email %>
</li>
<li>
<%= link_to " Edit Account", edit_user_registration_path %>
<% else %>
<li>
<%= link_to "Sign In", new_user_session_path %>
</li>
<li>
<%= link_to " Sign Up ", new_user_registration_path %>
</li>
<% end %>
générer les vues : rails generate devise:views
Ajouter champ téléphone : rails g migration AddPhoneToUsers phone:string
Migration : rails db:migrate
Dans Application Controller :
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
before_action :sanitize_devise_params, if: :devise_controller?
def sanitize_devise_params
devise_parameter_sanitizer.permit(:sign_up, keys: [:phone])
end
end
Dans new.html.erb et dans edit.html.erb
Redémarrer serveur :