archivo para June, 2007

TrimJunction: JavaScript sobre Rieles

Por Ismael, 25/6/2007, 5:46 pm en javascript, notas, tendencias web

Sip. El título es apropiado. Un Dios de JavaScript llamado Steve Yen se tomó el tiempo de portar Ruby on Rails a JavaScript. Siendo exactos, no es la totalidad de Rails, pero el engendro es MVC, funciona tanto en el browser como en el servidor (usando el runtime Rhino) y si conoces Rails encontrarás el […]

ActiveRecord: delegación de asociaciones

Por Ismael, 25/6/2007, 2:05 am en Desarrollo, Documentación, Ruby & Rails, artículos, tips

Gracias a la magia de ActiveRecord, en Rails es fácil definir las asociaciones entre clases:

Code (ruby)

class Blog < ActiveRecord::Base

  has_many :posts, :order => ‘published_on DESC’

end

Esto nos permite bellezas como

Code (ruby)

mi_blog = Blog.find(:first)

articulos = mi_blog.posts

Pero supongamos que queremos en Blog un método que nos retorne sólo los 10 artículos más recientes Una solución es definir otra […]

Reinventando la rueda

Por Ismael, 20/6/2007, 7:22 pm en Desarrollo, Patrones de diseño, artículos

Acabo de leer un post en el blog de Juque (el post tiene ya unos días, todo lo que se pierde uno por cerrar NetNewsWire por un rato!) donde Juan Pablo anuncia su intención de construir su propio CMS. En los comentarios se habla, con cierta luz negativa, de “reinventar la rueda”, refiriendose a que […]

Rails y las fechas

Por Ismael, 20/6/2007, 5:21 pm en Desarrollo, Ruby & Rails, artículos, tips

Además de la arquitectura MVC que pone todo en su lugar, Rails incluye ActiveSupport, un módulo con extensiones varias a las clases nativas de Ruby como Array, Time y Date. Esto permite expresar calculos de fechas y tiempos en lenguaje casi natural.

Code (ruby)

 

ayer = Time.now - 1.day # => Tue Jun 19 17:11:20 CLT 2007

 

Lo […]

Rails: helpers con bloques

Por Ismael, 11/6/2007, 5:50 pm en Ruby & Rails, artículos, tips

Pongamos un ejemplo. Estas haciendo una aplicación Rails donde los usuarios autorizados (”logueados”) puedes ver algunas cosas en las páginas que el resto de los usuarios no pueden. Hay varias formas de solucionarlo. Supongamos que en tu controlador base defines un objeto @user que estará presente en todas las páginas. Al Usuario le defines un […]