Desafio Latam
 
  • Tutoriales
    • Rails
    • Javascript
    • Android
  • Motivación
  • Graduados
  • Ver Cursos

ActiveRecord

contando con left_join

Haciendo gráficos con Rails

Contando con rails, parte 2.

En el tutorial anterior vimos las diferencias entre size, count y length, en este capítulo vamos a trabajar con count, size, pluck y sufrir con los includes, eager_loads, joins y groups y los vamos a utilizar para generar gráficos.

A modo de repaso tenemos dos modelos, users y tweets, donde un tweet le pertenece a un usuario y cada usuario tiene muchos tweets.

Ahora si queremos saber cuantos Tweets tiene cada usuario, como lo hacemos? Una forma sencilla sería agruparlos y contar

Ruby
1
Tweet.group(:user_id).count

Lo que nos daría como resultado:

=> {2=>20, 3=>20, 4=>20, 5=>20, 6=>20, 7=>20, 8=>20, 9=>20, 10=>20, 11=>20}

Graficando la cuenta:

Teniendo el conteo de los Tweets podemos graficarlos.

Una forma sencilla de hacerlo es ocupando la gema de chartkick, que consiste en una especie de wrapper de google charts y de high charts, ahora ¿cuál escoger?, high charts a pesar de ser muy bueno no posee una licencia comercial gratuita a diferencia de google charts, así que para este ejemplo vamos a utilizar google charts.

Share Button
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.

http://www.DesafioLatam.com
  • julio 8, 2015
  • 1
  • 8065
  • ActiveRecord, Rails, Tutoriales
  • Ver más
Select con count

Contando con Rails

Resolviendo el problema de n+1 en la cuenta de datos.

En este tutorial vamos a aprender un poco de eager loading en rails, y como evitar los problemas de n+1 cuando se trata de contar elementos hijos o padres y cuál es la diferencia entre los métodos count, size y length a la hora de contar datos.

Share Button
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.

http://www.DesafioLatam.com
  • julio 7, 2015
  • 2
  • 4128
  • ActiveRecord, Rails, Tutoriales
  • Ver más
Formularios Anidados

Formularios Anidados en Ruby on Rails

En ocasiones, tenemos modelos asociados que necesitamos manipular en un único formulario en lugar de tener un formulario por cada uno de ellos y en este tutorial les mostrare como crear estos formularios anidados (nested forms).

Un formulario anidado nos permite generar una mejor experiencia de usuario al trabajar con modelos relacionados, ya que de esta manera no se tendrá que estar cambiando a las vistas de cada modelo para hacer cambios.

Para mostrar como trabajar con formularios anidados crearemos un proyecto para listar Bancos y sus sucursales. Un banco se podrá editar en un formulario que incluirá todas sus sucursales.

Hora de codear

Paso 1: Crear Proyecto

terminal
ZSH
1
2
rails new bank-list
cd bank-list

Paso 2: Crear los scaffolds

Vamos a necesitar los siguientes dos scaffolds para nuestro ejemplo:

terminal
ZSH
1
2
3
rails g scaffold Bank name:string
rails g scaffold BankSubsidiary address:string bank:references
rake db:migrate

La opción :references crea un campo que hace referencia al modelo, en este caso bank.

Share Button
Juan Cristobal Pazos

Diseñador de profesión, amante del diseño del desarrollo web y la creación de aplicaciones con Ruby on Rails.

Fundador de La Legion Studio y profesor en DesafioLatam.
Apple Expert y por sobre todo Dog Lover.

http://www.DesafioLatam.com
  • mayo 6, 2015
  • 0
  • 20953
  • ActiveRecord, Rails, Tutoriales
  • Ver más

SUSCRÍBETE A NUESTRO NEWSLETTER

Inicio 1 de Marzo

Inicio 9 de Marzo

Inicio 9 de Marzo

Inicio 15 de Marzo

Etiquetas

activeadmin alumnos android API aplicación móvil APP aprender Automatización ciberseguridad consejos desarrollo devise digital diseño Diseño de patrones diseño ux/ui educación emprendimiento eventos experiencia front end fullstack Google hackathon Herramientas útiles Html Infraestructura Javascript lenguajes de programación Motivación mujeres oportunidades Optimización programación python Rails Rake Ruby Ruby on Rails talleres tecnología testimonio Tips Tutoriales webinar

Entradas recientes

  • Estudiar en pandemia: tips para sobrevivir a esta hazaña
  • Transformación profesional con liderazgo y autenticidad
  • Full Stack: Certificación vs Portafolio
  • Frameworks y Librerías de Full Stack: Su aporte para los desarrolladores en el mercado.
  • Vue JS 3 y sus novedades ¿Qué ventajas trae?

Comentarios recientes

  • Macarena Rojas en Diseñador, diseñadora y su rol político
  • Marisol - catalogo avon en Diseñador, diseñadora y su rol político
  • Marisol - catalogo leonisa en TOP: Aplicaciones más descargadas en esta Cuarentena
  • Macarena Rojas en Webinar: «¿Cómo iniciar en programación sin tener conocimientos previos?»
  • Adriana en Webinar: «¿Cómo iniciar en programación sin tener conocimientos previos?»

Categorías

ActiveAdmin Actualidad Android Conferencias Consejos Consejos para emprendedores Creación de Juegos curso programacion Data Science Desafíos Desarrollo web Devise Diseño Web Docente Educación Emprendimientos tecnológicos empresas Entrevista laboral Eventos firebase Fullstack git Graduados Hackathones informáticos Javascript Linux Marketing Digital Motivación Mujeres Oportunidades Profesionales TI Programación python Rails Seguridad Informática tecnologia Tendencia Testimonios Tips Tutoriales Ui Uncategorized Ux wordpress
  • trabajos remotos

    Top 32 sitios para encontrar trabajos remotos

    125882 views
  • Donde poner los scripts de javascripts

    Javascript en el Head o en el cierre del body? Estás equivocado

    87878 views
  • Microsoft, Google y Ernst and Young apuestan por los talentos y no los títulos

    65592 views

Desafio Latam Copyright 2017. All Rights Reserved