Skip to content

Instantly share code, notes, and snippets.

@NicolasHov
Last active November 14, 2017 13:13
Show Gist options
  • Save NicolasHov/a5decf4249b56dcc6d63d4448e075782 to your computer and use it in GitHub Desktop.
Save NicolasHov/a5decf4249b56dcc6d63d4448e075782 to your computer and use it in GitHub Desktop.

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

<%= f.label :phone, ‘phone’ %> <%= f.text_field :phone %>

Redémarrer serveur :

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment