Desafío Latam
 
  • Actualidad
  • Oportunidades
  • Trabajo Remoto
  • bootcamp
  • Ver Cursos

Devise

Creando un sistema de invitaciones con ruby on rails

Creando un sistema de invitaciones con la gema devise_invitable

Motivación

En rails existe una gema que nos permite enviar invitaciones por email, y ver cuando estas han sido aceptadas, esto puede servir para darle habilidades especiales a un usuario si ha invitado a 5 personas, o cuando queremos lanzar una aplicación sin registro abierto y que los usuarios deban recibir una invitación o incluso para crear una cuenta a un usuario pero que luego el deba ingresar para crear su propio password.

Gonzalo Sánchez
Gonzalo Sánchez

Director de DesafíoLatam. Ingeniero Civil Informático de la Universidad Federico Santa María. Emprendedor lean, dedicado al desarrollo de una mejor web con ruby on rails. Fanático de los números y las métricas, la música y la fotografía.

www.DesafioLatam.com

Compartir

Compartir
Compartir
Tuitear
  • mayo 24, 2016
  • 0
  • 6264
  • Devise, Rails
  • Ver más
logo omniauth

Login con Facebook y Twitter para tu proyecto Rails

 

Uno de los requerimientos más solicitados hoy en día por nuestros clientes a la hora de desarrollar una aplicación web es la integración con redes sociales, o también, es un requisito casi esencial para tu proyecto de emprendimiento, es por ello que en esta guía ahondaremos en los pasos necesarios para llevar este proceso a cabo, haciendo uso de las APIs públicas de Facebook y Twitter en particular, ya que son las redes sociales más utilizadas en este minuto.

Creando tu App en el Portal de Desarrollo

Primero lo primero, crearemos y solicitaremos los permisos necesarios para tener nuestra app funcionando en las plataformas para de esta forma obtener nuestros códigos de Cliente y Secreto.

Facebook

Para ello, accedemos a la sección de desarrolladores de Facebook (https://developers.facebook.com).

2

           

En el menú superior encontrarán “My Apps” y dentro de el menú que se despliega está la opción “Add a New App”, y les aparecerán las siguientes opciones.

1

Daniel Morales Miguel
Daniel Morales Miguel

Estudiante de Ingeniería Civil Informática en la Universidad Técnica Federico Santa María Campus Santiago, Ingeniero de Software en Nursoft. Fanático de la Tecnología, Apple Boy, Pasión por la Ciencia Ficción.

www.nursoft.cl

Compartir

Compartir
Compartir
Tuitear
  • junio 4, 2015
  • 6
  • 51830
  • Devise, OmniAuth
  • Ver más

controlando el tiempo de inactividad en rails con devise

En este mini tutorial aprenderás como controlar la inactividad de un usuario dentro de un sitio web o aplicación.

Esto este particularmente útil si estuviésemos creando una aplicación que manejara datos financieros o delicados, en estos casos es importante que la sesión de un usuario no quede abierta por descuido. Hay que siempre tener en cuenta que el usuario podrías estar en un computador de uso compartido y siempre existe la posibilidad de que haya gente malintencionada alrededor de el.

Para este tutorial se da por entendido que la gema de Device se encuentra instalada y operativa en nuestro proyecto.

¿Cómo lograr controlar la inactividad de un usuario en una aplicación web hecha en Rails?.

Pasos:

Paso 1: Asignar el tiempo dentro del initializer de devise

Hay que descomentar la línea config.timeout_in = 10.seconds y asignar el tiempo necesario que se encuentra en el initializer devise.rb (los 10.second, son elementos que se modifican, en este ejemplo lo dejé en 10 segundos, pueden ser 5 minutos, 1 hora, etc, obviamente en Ingles – second, minutes, hours)

Paso2: Agregar :timeoutable en el modelo de usuarios

Dentro del archivo models/user.db después de todos los able agregados por devise (como por ejemplo validatable) podemos agregar el símbolo :timeoutable

Paso 3: Reinicio el Servidor:

Siempre que se modifican los archivos dentro de initializers hay que reiniciar el servidor.

4.- Ahora cada vez que exista inactividad en la aplicación por 10 segundos, me cerrará y redireccionará al login de nuestra app en Rails. Una vez que te logueas la aplicación es capaz de redireccionar al lugar dónde quedó el usuario antes de que cerrara la conexión.

Compartir

Compartir
Compartir
Tuitear
  • mayo 20, 2015
  • 0
  • 6095
  • Devise
  • More

Importando CSV desde el panel de control de active admin

Existe una gema muy útil que permite cargar de forma sencilla archivos CSV desde el panel de control de active admin, por regla general es muy fácil de utilizar, sólo tienes que crear un archivo CSV que en la cabecera tengan los campos que quieres guardar (tienen que coincidir con el modelo) y listo.

La gema se llama active_admin_import, para instalarla tenemos que agregar a nuestro gemfile

gem "active_admin_import" , '2.1.2'

y luego:

bundle

Entonces suponiendo que tenemos el modelo pedidos con id y nombre, tendríamos que crear el recurso pedido con activeadmin y agregar dentro de admin/pedido.rb y dentro del archivo tendríamos que poner:

active_admin_import

y luego crear un archivo .csv con la cabecera

id,producto
1,televisor
2,Ps4
3,Xbox1

el formato de CSV por defecto es sin espacios separadores entre la coma, o sea pone todo junto, eso no quiere decir que no puedas ocupar espacio, sólo que no debes agregarlo entre medio del símbolo coma.

Importando un csv de usuarios con devise.

En el caso de que quieras insertar usuarios que estén bajo devise es un poco más complejo, puesto que el password no es parte del modelo, lo que si tiene es un encrypted_password, entonces para poder guardar correctamente a los usuarios lo que vamos a hacer es modificar el CSV que está leyendo active_admin_import para cambiar los password por password encriptados, además tenemos que apagar las validaciones y sacamos el header para no confundir a active_admin con el cambio del nombre del campo de password a encrypted_password.

Aquí dejo un ejemplo de un usuario con devise que tiene email y password.


  active_admin_import validate: false,
    before_batch_import: proc { |import|
      import.csv_lines.count.times do |i|
        import.csv_lines[i][2] = User.new(password: import.csv_lines[i][2]).encrypted_password
      end
    },
    :template_object => ActiveAdminImport::Model.new(
        :hint => "file will be imported with such header format: 'email','name','password'",
        :csv_headers => ["name", "email", "encrypted_password", "cohort_id", "role"],
        csv_options: { col_sep: ","} 
    ),
    :timestamps=> true,
    :batch_size => 1000
Gonzalo Sánchez
Gonzalo Sánchez

Director de DesafíoLatam. Ingeniero Civil Informático de la Universidad Federico Santa María. Emprendedor lean, dedicado al desarrollo de una mejor web con ruby on rails. Fanático de los números y las métricas, la música y la fotografía.

www.DesafioLatam.com

Compartir

Compartir
Compartir
Tuitear
  • mayo 6, 2015
  • 0
  • 3862
  • ActiveAdmin, Devise, Tutoriales
  • Ver más


Cambia tu vida en menos de 1 año

Fórmate en los roles más demandados y mejor pagados

Lunes 6 de marzo

Martes 21 de febrero

Lunes 6 de Marzo

Lunes 17 de abril

Lunes 17 de Abril

Etiquetas

activeadmin API APP aprender bootcamp consejos data science desarrollo devise digital diseño diseño ux/ui educación emprendimiento eventos experiencia freelance front end fullstack Google hackathon Herramientas útiles Html Infraestructura Javascript lenguajes de programación Motivación mujeres oportunidades Optimización programación python Rails remoto Ruby Ruby on Rails tecnología testimonio Tips trabajo remoto trabajos programadores trabajos remoto Tutoriales ui ux

Entradas recientes

  • Error 404, y otros errores de estado http que debes conocer
  • Programación en liceos, codificando un nuevo futuro
  • ¿Qué es Full Stack? Conoce que hace y su sueldo
  • Javascript vs Python, ¿Cuál es mejor?
  • 6 cursos gratuitos de Google para ti

Categorías

Actualidad Android boot camp bootcamp Consejos Consejos para emprendedores Creación de Juegos curso programacion Data Science Desafíos Desarrollo web Diseño Diseño Web Docente Educación Emprendimientos tecnológicos empresas Entrevista laboral Eventos Front End Fullstack git Graduados Hackathones informáticos Javascript Marketing Digital Motivación Mujeres Oportuidades Oportunidades Profesionales TI Programación python Rails Seguridad Informática tecnologia Tendencia Testimonios Tips Trabajo Remoto Tutoriales Ui Uncategorized Ux
  • 62 famosos sitios hechos en Rails

    163219 views
  • trabajos remotos

    Top 32 sitios para encontrar trabajos remotos

    157303 views
  • Trabajo Freelance

    Trabajo Freelance: Top 15 sitios para encontrarlos

    146882 views

Obtén noticias y promociones


Desafio Latam Copyright 2017. All Rights Reserved