Adicionando Autenticação com Devise
Criado por Piotr Steininger, @polishprince
Atualizado por Ernesto Jimenez, @ernesto_jimenez
Este tutorial assume que você já criou a aplicação Rails Girls seguindo o tutorial de desenvolvimento de aplicação.
1.Adicione a gem devise
Abra o seu Gemfile
e adicione a seguinte linha
Depois, execute o seguinte comando no terminal
para instalar a gem. Lembre-se de dar restart no servidor Rails.
2.Configurando o devise na saua aplicação
Execute o seguinte comando no terminal.
3.Configurando o Devise
Certifique-se que você tenha definido uma opção de url padrão nos seus arquivos de ambiente. Abra config/environments/development.rb
e adicione esta linha:
anes da palavra chave end
.
Abra app/views/layouts/application.html.erb
e adicione:
logo acima de
Abra app/views/ideas/show.html.erb
e remova a linha que diz:
Faça o mesmo em app/views/comments/show.html.erb
. Estas linhas não são mais necessárias agora que colocamos o notice no arquivo app/views/layouts/application.html.erb
.
4.Configure o modelo de Usuário
Nós utilizaremos um script gerador para criar o modelo User.
Treinadores: Explicar o que é o modelo de usuários que foi criado. O que são esses campos?
5.Crie o seu primeiro usuário
Agora que você configurou tudo, podemos criar o nosso primeiro usuário. O Devise cria todo o código e rotas necessárias para criar novas contas, efeturar log in, log out, etc.
Certifique-se de que o seu servidor rails está rodando, abra http://localhost:3000/users/sign_up e crie a sua primeira conta de usuário.
6.Adicione os links para cadastro e login
Tudo que precisamos fazer agora é adicionar os links e avisos apropriados no canto direito da barra de navegação para o usuário que realizou o login
Para isso, edite app/views/layouts/application.html.erb
e adicione:
logo depois de
Finalmente, redirecione o usuário para a página de login se ele não estiver logado. Abra app/controllers/application_controller.rb
e adicione:
depois de protect_from_forgery with: :exception
.
Abra o seu navegador e tente realizar login e logout.
Treinadores: Fale sobre os helpers user_signed_in?
e current_user
. Por que eles são úteis?