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

ActiveAdmin

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
  • 3859
  • ActiveAdmin, Devise, Tutoriales
  • Ver más

Recursos anidados en ActiveAdmin

ActiveAdmin es una potente gema para construcción de paneles de administración en ruby on rails, en este tutorial veremos como utilizar recursos anidados dentro de ActiveAdmin.

Paso 0: Setup

Para partir vamos a construir una aplicación web sencilla que tenga artistas, álbumes y canciones. Obviamente un artista puede tener varios álbumes y cada álbum puede tener varias canciones.

por lo que nuestros recursos quedarían de la siguiente forma: “Artist >> Album >> Songs”

Si queremos desde el panel de control subir una canción y que quede automáticamente asignada al artista o querer hacer acciones CRUD sobre las canciones, pero que deben estar bajo el contexto de un Album y Artista determinados. Este es justamente el ejemplo que vamos a revisar.

Sebastián Jiménez
Sebastián Jiménez

Ingeniero especializado en Diseño y Automatización de Procesos.
Empeñado en ayudar al sentido común con Tecnologías de la Información.
Alumno de la primera generación de Desafío Latam.

www.DesafioLatam.com

Compartir

Compartir
Compartir
Tuitear
  • abril 20, 2015
  • 1
  • 7485
  • ActiveAdmin, Tutoriales
  • Ver más
ActiveAdmin con Hstore

Activeadmin con Hstore

En el tutorial anterior vimos como utilizar los tipos de datos hstore de postgres para guardar directamente un hash, en este tutorial vamos a ver como configurar activeadmin para poder editar de forma sencilla los datos guardados en este campo.

Paso 1: Agregar la gema activeadmin hstore editor

El truco consiste en utilizar la gema activeadmin_hstore_editor
que técnicamente hace todo el trabajo, una vez agregada la gema al gemfile tenemos que correr bundle

 bundle 

Paso 2: Configurar el initializer para incluir los assets del editor

Ahora debemos agregar dentro del archivo config/initializers/active_admin.rb

config.register_stylesheet 'active_admin/hstore_editor.css'
config.register_javascript 'active_admin/hstore_editor.js'
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
  • abril 14, 2015
  • 0
  • 2852
  • ActiveAdmin, Tutoriales
  • Ver más

Como hacer un scaffold después de instalar activeadmin

En este artículo te explicaré como evitar un problema que seguramente tendrás cuando quieres crear un scaffold después haber instalado la Gema «Active Admin».

Daniela Gattoni
Daniela Gattoni

Software Engineering Student at USM, Santiago, Chile. Web Designer & programmer. #hack4good Santiago 1st place 2014 with #BringYourCup app.

www.DesafioLatam.com

Compartir

Compartir
Compartir
Tuitear
  • abril 2, 2015
  • 5
  • 4577
  • ActiveAdmin, 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

  • Javascript vs Python, ¿Cuál es mejor?
  • 6 cursos gratuitos de Google para ti
  • ¿Dónde estudiar? Universidad vs Bootcamp vs Autodidácta
  • La programación y la tecnología en el cine
  • Sueldo de programadores junior

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

    163201 views
  • trabajos remotos

    Top 32 sitios para encontrar trabajos remotos

    157287 views
  • Trabajo Freelance

    Trabajo Freelance: Top 15 sitios para encontrarlos

    146874 views

Obtén noticias y promociones


Desafio Latam Copyright 2017. All Rights Reserved