Devise y la creación de usuarios con Rails

Una vista rápida usando Ruby 1.9.3, Rails 3.2.X y Devise 2.1.0 vamos a crear usuarios usando PostgreSQL como base de datos. Esta receta escrita por Rafa Pérez supone que se está usando RVM como manejador de versiones.

Primeros pasos con Devise

Lo primero es crear el gemset adecuado para el proyecto, para esto durante la creación del proyecto le asignamos el gemset a utilizar para luego instalar Rails. Veamos como se verían las instrucciones:

rvm use 1.9.3@nombre_del_proyecto --create
gem install rails # 3.2.X
gem install pg # adaptador postgresql
gem install devise # 2.1.0
cd nombre_del_proyecto
echo rvm use 1.9.3@nombre_del_proyecto > .rvmrc

Lo siguiente será la generar la configuración de devise y el primel modelo:
rails generate devise:install
rails generate devise user

Luego de tener la configuración necesitaremos un controlador para realizar el Login:
rails g controller login index

Lo siguiente es configurar una URL por defecto en el archivo config/environments/development.rb:
config.action_mailer.default_url_options = { :host => 'localhost:3000' }

A continuación modificamos el archivo archivroutes.rb para definir nuestra root_url
root => “login:index”

Ahora configuremos el controlador especificando que es obligatorio realizar el login:
Devise y la creación de usuarios en Ruby o Primeros pasos con devise
class LoginController < ApplicationController
before_filter :authenticate_user!
def index
answer = user_signed_in? ? current_user.email.to_s : 'Usuario Anonimo'
render :text => answer
end
end

Antes de empezar borramos el archivo public/index.html y corremos las migraciones y el servidor rails:
rm public/index.html
rails db:migrate
rails s

Y listo, al acceder al localhost:3000 encontraras:
pantalla de login usando devise en ruby

Luego quedaría configurar la internacionalización para que el login aparezca en español, los mensajes de alerta, etc… pero eso es material de otro post.

 

About orvtech

Para saber un poco mas de mi, puedes: Leer la pagina: Acerca de Oliver Rivas, Agregar mi perfil de a tus círculos. Sigueme por Twitter o Identi.ca. Hazte Fan de orvtech.com en facebook.