
Ruby on rails viene por defecto con un sistema de ruteo de direcciones (URL), veamos como se comporta una petición via browser a una aplicación rails.
Al momento de escribir en nuestro navegador:
http://www.tudominio.cl/receta/lista
- El servidor carga la información referente al controlador receta_controller.rb que se encuentra ubicado en app/controllers.
- El servidor instancia una objeto de tipo receta, en esta caso RecetaController.
- Carga la data del Modelo, en este caso buscara el modelo encargado de negociar con nuestra base de datos en app/models buscando el archivo receta.rb, si lo encuentra lo cargará.
- Buscara en nuestro controlador en esta caso receta_controller.rb la acción lista, que digamos que listara todas nuestras recetas.
La explicación más simple es que Rails viene por defecto con un routing que actúa de la siguiente manera
http://www.tudominio.cl/controlador/accion/parametro
Para quieran ver con sus propios ojos como funciona esto, diríjanse a su carpeta rails donde tienen su app, y estará dentro de la carpta config/routes.rb, verán por ustedes mismos que por defecto esta configurado:
# Install the default route as the lowest priority.
map.connect ‘:controller/:action/:id’
No me gusta esa forma no quiero exponer llaves primarias en mis urls, es muy fácil solo modifiquen el archive config/router.rb a su gusto y obtendrán url bien diseñadas.
Si quieres profundizar el tema visita
El wiki de rubyonrails sobre Rutas
Gizmoojo Seguramente muchos han escuchado que correr aplicaciones rails en hosting compartidos no es una muy buena idea… pero mi opinión al respecto que es para sitios con alto trafico (cientos de miles de visitas al dia).
Y para finalizar y lo que me hizo crear este articulo el articulo vía plasticbag.org un articulo demoniado URLS Preciosas y bien diseñadas de mike chinkel
El articulo lo considero una obra de arte, muchos desarrolladores incluyéndome, al momento de desarrollar nuestas webapps nos olvidábamos de cómo lo veía nuestro publico (Considerando también la dificultad que tienen otros lenguajes y frameworks para manejar este tema), creo que gracias a ese articulo y al poderoso ruby on rails no lo haremos nunca jamás.


Guardado en: rails |