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

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/devise-creacion-usuarios-rails.rst, line 24)

Line block ends without a blank line.

modelo: | rails generate devise:install rails generate devise user

Luego de tener la configuración necesitaremos un controlador para

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/devise-creacion-usuarios-rails.rst, line 28)

Line block ends without a blank line.

realizar el Login: | rails g controller login index

Lo siguiente es configurar una URL por defecto en el archivo

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/devise-creacion-usuarios-rails.rst, line 32)

Line block ends without a blank line.

config/environments/development.rb: | config.action_mailer.default_url_options = { :host => 'localhost:3000' }

A continuación modificamos el archivo archivroutes.rb para definir

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/devise-creacion-usuarios-rails.rst, line 37)

Line block ends without a blank line.

nuestra root_url | root => “login:index”

Ahora configuremos el controlador especificando que es obligatorio

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/devise-creacion-usuarios-rails.rst, line 41)

Line block ends without a blank line.

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

System Message: WARNING/2 (/srv/pelican.orvtech.com/www/htdocs/content/devise-creacion-usuarios-rails.rst, line 48)

Line block ends without a blank line.

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.



Comments

comments powered by Disqus