Instale o 'devise' executando o comando:
rails g devise:install
Gere as views do devise (tela de login e cadastro) executando o comando abaixo:
rails g devise:views --views=sessions registrations
Para criar o model "User" execute o comando:
rails g devise User
Por padrão, o Devise não cria a tabela User com o campo "nome" então, vamos adicionar o campo à migration para ser adicionado também:
t.string: name
Abaixo criamos uma controller com um método "index"
rails g controller home index
. Inclua o método Index da controller Home como rota principal (rota / do APP) substituindo o conteúdo de config/routes.rb por:*
Rails.application.routes.draw do devise_for :users
root to: "home#index"
end
Existe uma controller principal que é herdada por todas as outras controllers que é a "ActionController", como o sistema terá que verificar a sessão de login em todas as páginas, faremos isso adicionando um método/action para controle da seção, na controller pai.
before_action :authenticate_user!
rails db:migrate