Presentando esto
Aquà vamos, encaminando un mini proyecto para iniciarme en el mundo RoR… y todo por culpa de mamuso, que dice que es mi amigo… menuda desfachatez, si de verdad lo fuera no me hubiera hablado de RubyOnRails. Más manuales, más horas y total para lo mismo… eso si, lo mismo pero más rápido.
En este blog trataré sobre los problemas que me vayan surgiendo durante el desarrollo de una pequeña aplicación, básicamente clientes, artÃculos y control de alquileres. Un proyecto fácil si lo hiciera en Delphi, pero no, el niño se ha encaprichado en hacerlo en Rails del cual no tiene ni idea.
Lo primero es hacerse con un buen manual, por supuesto en inglés, que yo soy un tipo duro. Y lo segundo seguro que lo adivináis: LEERLO. Y si, es muy bonito todo lo que se lee, lo escriben muy fácil, pero cuando uno mismo se pone a picar código dices ¿me habré leÃdo un libro de ciencia ficción en vez de un manual?
Empecemos, el scaffolding… digamos que se traduce como el andamiaje, en una lÃnea de código te genera la estructura de un mantenimiento de clientes
ruby script/generate scaffold Cliente
Ale, y ya tenemos mantenimiento. ¿Asà de fácil? Pues en el libro pone que si, pero realmente no… me aparece la fecha de alta del cliente en formato Año mes y dÃa, y a la hora de editar los meses aparecen en inglés. Todo el mundo sabe que November es Noviembre, y que llueve, aunque no en Alicante, que estamos secos… en fin, que me desvÃo. Lo primero es decirle a Rails que en español de toda la vida se dice Noviembre, pues vamos al fichero
(aplicación)/config/environment.rb
y después de la lÃnea
Rails::Initializer.run do |config|
Escribimos:
Date::MONTHNAMES = %w(None Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre)
Sencillo… sencillo una leche, claro como ya tenéis la solución. Pero yo estuve 40 minutos leyendo maneras de hacerlo. Eso si, encontré cosas interesantes como un calendario javascript, del cual os hablaré cuando lo pruebe. Tiempo al tiempo.
La segunda cosa que hice fue crearme una función (def) en application_helper para poner unos parámetros por defecto a la función date_select. Seguro que hay maneras mejores de hacerlo, supongo que una solución del estilo MONTHNAMES, pero ya las iré aprendiendo.
def date_select_rm2(tabla, campo)
date_select(tabla, campo, :order => [:day, :month, :year])
end
Ahora con cambiar en las vistas los date_select por date_select_rm2 nos mostrará la fecha correctamente.
Y ahora con vuestro permiso, me voy a tender una lavadora, que ya es hora.

mamuso dijo
Uh... últimamente demasiada gente me hace responsable de sus problemas. Voy a abandonar mi vida social.
Suerte con estas cosas del rails!
26 Enero 2007 | 05:19 PM