LuanDantas
5/23/2018 - 11:06 PM

Devise - Gem para "Autenticação"

Configurando a "Devise" gem para autenticação no Rails

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

Criando uma controller

Abaixo criamos uma controller com um método "index"

rails g controller home index

Alterando a rota default/home do projeto

. 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

Adiciona action/método para controle de seção geral no projeto

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!

Executando uma migration

rails db:migrate