Atenção: eu fiz isso com rails 2.1, não sei como funciona com as versões anteriores.
Depois de brigar um dia inteiro (e ao final do dia perceber que não precisava nada disso…) consegui criar uma interface de login, que como vocês verão aqui é muito simples.
Eu sabia que existia uma gem, ou um plugin sei lá.. que já gerava as interfaces para cadastro de usuário, login no sistema e talz.. mas eu não sabia qual era, e fiquei inutilmente o dia inteiro tentando tentar um plugin com um nome bastante sugestivo “login_generator”. Depois de muito pesquisar e bater cabeça, cheguei finalmente ao “restful_authentication” o plugin de nome nada sugestivo para a criação das nossas interfaces de acesso de usuário.
Para começarmos precisamos de um projeto, se vc ainda não o tem, para criá-lo digite:
rails meuprojeto
Com o seu projeto criado, vc deverá então instalar este plugin, com os seguintes comandos:
script/plugin source http://svn.techno-weenie.net/projects/plugins/
script/plugin install restful_authentication
Em seguida, gere os seus controles da seguinte maneira:
script/generate authenticated user sessions
MUITA CALMA NESSA HORA! REPARE, RESPEITE O SINGULAR E O PLURAL!!! user (no singular) sessions (no plural), gerará dois controllers um “users”e outro “sessions”. No tutorial que eu estava lendo estava errado! E eu perdi mais um tempo com isso… bem, eu ainda não entendi muito bem essa coisa de singular e plural do rails não, mas segundo o carinha de um mini-curso que eu assisti, isto é normal e a gente se acostuma com o tempo
Altere o seu arquivo routes.rb (dentro do diretório config) para que ele fique assim:
ActionController::Routing::Routes.draw do |map|  map.resources :users  map.resource :session, :controller => :sessions  map.signup '/signup', :controller => 'users', :action => 'new'  map.login '/login', :controller => 'sessions', :action => 'new'  map.logout '/logout', :controller => 'sessions', :action => 'destroy' end
Cuidado que no final do arquivo vem por default uns map.connect, tira essas linhas e deixa o arquivo como está mostrado acima.
Agora vamos criar a tabela de usuários com
rake db:migrate
Se o servidor estiver rodando, acesse a aplicação http://localhost:3000/signup.
Tente cadastrar os dados e Voilá! Vc tem uma tela de cadastro de usuários (após o cadastro, ele vai para a tela principal do rails, depois vc terá que configurar para onde vc quer que após o login do usuário o sistema vá)
Teste também http://localhost:3000/login, informando os dados do usuário que vc cadastrou para testar se está funcionando.


Amanda,
o nome faz sentido sim!!! do plugin! =) é um sistema de autenticação que é RESTful! claro, quando eu comecei a procurar obviamente fui atrás de “login” primeiro, mas logo me indicaram esse que é realmente muito bom…
bacana seu blog aqui… tem tempos que tô querendo começar um nesse estilo mas nada até hoje ^^”
Hum
Legal isso ai Amanda
Otima dica para quem está começando.
Parabéns pelo Blog
Precisamos de mais Girls assim no Rails
Abraços
Muito bacana,
Fiz tudo aqui sem complicações. Parabéns
[...] Criando uma Tela de Login [...]
Olá Amanda,
Muito legal o post.
Tirando sua dúvida => “No tutorial que eu estava lendo estava errado! E eu perdi mais um tempo com isso… bem, eu ainda não entendi muito bem essa coisa de singular e plural do rails não, mas segundo o carinha de um mini-curso que eu assisti, isto é normal e a gente se acostuma com o tempo”
Bom, pelo que eu entendi dos artigos que eu là é que uma das convenções do Rails é que ele trabalha com pluralização, ou seja, a idéia é usar sempre nome de tabelas no plural. Já os models(modelos) devem ter seus nomes no singular.
Exemplo:
Tabela -> clientes
Modelo -> cliente
Se você tem uma tabela chamada “clientes” ele espera que seu modelo se chame “cliente.rb”, obviamente com uma Class Cliente dentro. (ps: me corrijam se eu estiver errado!
)
Nesse topico (http://forum.rubyonbr.org/forums/1/topics/1493) o Marcelo Júnior faz uma abordagem rápida sobre Migrations e fala bem superficialmente sobre pluralização, mas vale a pena dar uma olhada.
Valeu?
[]s
Wow….. final mente umA Reailer na comunidade, não desanime, Rails é uma mãe… hehehe
Alguém testou esses códigos? Pois fiz os passos certinhos e tals, mas quando vou criar a tabela ‘users’ com rake db:migrate, dá um monte de ‘erros de sintaxe’, e olha que eu não digitei errado pq eu copiei e colei todos os códigos. Alguém sabe o que pode está acontecendo????
Desde ja agradeço.
Oi Alex. Peço desculpas. Recentemente eu reformatei os códigos fonte com o plugin do wordpress. Por uma desatenção, os sinais =>, viraram algo do tipo: =>, no aquivo routes.rb. Já corrigi no post. Substitua seu código no routes.rb pelo que eu coloquei e tente executar o rake de novo. Qualquer coisa é só falar!
Vlw Amanda, brigadão.
Problema resolvido.