• Programación

    Migrando datos desde PHP a Rails

    Por esas cosas de la vida me encontré todo el día de hoy migrando datos viejos de un sistema hecho en PHP a uno hecho en Rails. Las cosas venían bastante simples definiendo modelos de ActiveRecord para las tablas de la base de datos vieja y reinsertando con modelos apuntando a las tablas nuevas. Pero … siempre hay un pero. Resulta que el hermoso sistema anterior para evitar tener muchas tablas (o vaya a saber por qué) tenía en una parte un tabla donde cada field era un gran TEXT que contenía un array de PHP serializado. class UserTextField user = UserTextField.find(3) $> user.folders # => 'a:2:{i:0;s:4:"bkps";i:1;s:6:"listas";' Justo cuando estaba…

  • Programación

    Delegando atributos de ActiveRecord

    El otro día tratando de mejorar un modelo de una aplicación me topé con el problema de tener muchos atributos virtuales para poder acceder a atributos de un objeto relacionado y no caer en lo siguiente : class Player < ActiveRecord::Base belongs_to :user def name user.name end def email user.email end # ... y varios más end Esto no lo puedo evitar mucho ya que Player es una clase intermedia en una relación de N-M entre los usuarios y los partidos, y además contiene información necesaria para la lógica del modelo. Tampoco era muy feliz tener por todos lados Message Chains: @player.user.name @player.user.email # etc .... Una de las recomendaciones…

  • Programación

    Lo que viene en Rails 2.2

    Hace poco se anunció el RC1 de lo que será la versión 2.2 de Ruby on Rails. Si bien la fecha de salida es «cuando esté lista», ya se pueden utilizar para aquellos que gusten vivir «on the edge». Para aquellos que quieran un rejunte completo de todo lo que se viene pueden ver el post : What’s New in Edge Rails: Rails 2.2 Released – Summary of Feature. Yo acá voy a comentar solo lo que tuve la oportunidad de probar y que me resultó útil. I18n La verdad es que es una buena noticia, no para mi porque hago todo para un solo idioma :P, pero algún día…