¿Cuál es la diferencia entre :destroy_all y :delete en Rails?

Una de las enseñanzas o instrucciones que se da cuando se diseñan bases de datos es que no debe haber información relacionada que no tenga su “dueño” o “padre”. Si un artículo tiene muchos comentarios y dicho artículo se elimina de la base de datos, tales comentarios también deben hacerlo.

En SQL a esto se le llama borrado en cascada. Para lograr esto en Rails usando ActiveRecord podemos usar la opción dependent y pasando algunas opciones disponibles. Leer más “¿Cuál es la diferencia entre :destroy_all y :delete en Rails?”

Anuncios

Tocando a ActiveRecord

Cuando se programan aplicaciones, puede haber ocasiones en donde queremos que un determinado objeto indiqué la última vez que fue actualizado según determinadas acciones o sucesos.

La última vez que se actualizó el repositorio, la última vez que se modificó un artículo publicado, la última vez que cambió el estado de la cuenta, etc. Son ejemplo de lo anterior.

En Rails, se puede lograr dicho comportamiento de dos formas. Depende de uno como programador determinar cual de las dos opciones es más adecuada(o incluso si se usan ambas). Leer más “Tocando a ActiveRecord”

Conferencias RailsConf para Compartir

Una de las mejores cosas de las comunidades open source es cuando la herramienta, lenguaje o técnica tiene tanta acogida que se crean eventos alrededor de esta. Tal es el caso del framework Ruby on Rails y su muy aclamada y bien acogida RailsConf.

Hoy, quiero aprovechar este espacio para compartir dos conferencias que he visto en YouTube que son bastante buenas. Una de ellas es sobre una herramienta que, al parecer, usan mucho los desarrolladores que usan Ruby o Ruby on Rails: Pry – The Good Parts! Leer más “Conferencias RailsConf para Compartir”

Cómo Usar el Método Includes() de ActiveRecord en Rails

Algo que tiende a frustrarme de algunas guías o documentación oficial es que solo dan el uso más básico a lo que explican. Pues, bueno, uno como desarrollador debe jugar con lo que hay para descubrir más opciones pero a veces no vendría mal un poco de ayuda en temas más complejos.

Mi insatisfacción estaba dada por la sección de las guías oficiales de Rails donde explican cómo evitar la consulta de tipo N+1. Este tipo de llamado a la base de datos ocurre como cuando por ejemplo queremos mostrar los Y valores que están relacionados con X tabla. Más preciso, a continuación. Leer más “Cómo Usar el Método Includes() de ActiveRecord en Rails”

Las Guías de Estilo para Ruby y para Rails

El único lenguaje de programación que conozco que obliga a indentación del código es Python. De resto de lenguajes, los programadores lo hacemos para mantener el código lo más legible posible, para otros desarrolladores o para nosotros mismos.

Y cómo si de reglas se tratara, algunos aplicamos ciertos estilos y formas de escribir código. Siempre buscando la forma de hacerlo lo más claro posible, bien sea que este se exprese implícitamente al leerlo o explícitamente mediante comentarios.

En la actualidad, donde trabajar con personas de cualquier parte del mundo es mucho más fácil que antes, escribir código que sea legible, reusable y bonito es un deber que todos los desarrolladores de software tenemos. Así sea que esas líneas de código solo las vea uno mismo. Sin embargo, no todos son tan ordenados ni les gusta respetar ni seguir reglas básicas al escribir código fuente. Leer más “Las Guías de Estilo para Ruby y para Rails”

Soluciones Variadas para Problemas Variados en Rails 4 – Parte 2

Continúo trayendo contenido que tiene que ver mucho con soluciones a problemas que encuentro mientras estoy haciendo aplicaciones web usando Ruby on Rails. Puedes ver la primera parte siguiendo el enlace.

Resulta que normalmente el stack de herramientas para desarrollar algo usando Rails incluye al menos un motor de base de datos y un servidor para montar la aplicación en producción. En mi caso puntual, la app se está haciendo sobre PostgreSQL y hasta cierto punto se usaba Heroku como servidor para el ambiente test. Leer más “Soluciones Variadas para Problemas Variados en Rails 4 – Parte 2”

Soluciones Variadas para Problemas Variados en Rails 4

Pues, hace tiempo tenía unos enlaces que compartir sobre soluciones que he encontrado desarrollando aplicaciones con Ruby on Rails.

Este artículo pretende compartir uno de esos enlaces y el más reciente descubrimiento que tuve mientras desarrollaba una de las aplicaciones en las que participo. Leer más “Soluciones Variadas para Problemas Variados en Rails 4”

Algunos Tips en Rails 4

Las herramientas están para ayudarnos a lograr nuestro trabajo con la mayor eficiencia posible. Cuando usamos todo lo que nuestro material de trabajo nos ofrece somos más productivos y más felices.

En Drupal, cuando se están estilizando páginas o contenidos, es muy común apoyarse en clases para los nodos, las secciones, las regiones o los mismos bloques de contenido. Leer más “Algunos Tips en Rails 4”

Resolviendo un problema tonto pero poco común en Rails y sus Migraciones

Ruby on Rails es un genial framework para desarrollar aplicaciones web. Tiene poco tiempo en el mercado y un crecimiento muy bueno para ser tan joven. Entre las muchas bondades de Rails están las migraciones. Estas son un mecanismo para interactuar con el modelo de datos sin escribir líneas de código SQL o ingresar al motor de base de datos que escojamos. Leer más “Resolviendo un problema tonto pero poco común en Rails y sus Migraciones”

Depurando Errores de Rails 4, Mongoid en Heroku

Resulta que tengo una idea de app que estoy desarrollando poco a poco usando Rails 4 y MongoDB como base de datos. Para lograr esto no se debe usar Active Record, el ORM por defecto de Rails sino un ODM que sería Mongoid. Pues bien, hace ya muchos meses que había lanzado una primera versión de UniApp en Heroku, esto con el mero sentido de conocer cómo es subir una aplicación en esta plataforma. Si bien el proceso es bien sencillo, hay unos errores que toman tiempo depurar aunque la comunidad siempre tiene las respuestas, las cuales quiero compartir en este espacio. Leer más “Depurando Errores de Rails 4, Mongoid en Heroku”