Agustín Ventura
Ingeniería de Software
En este post he encontrado bastante bien resumidos los pasos: Life of a Radar
Después de unas buenas (y merecidas) vacaciones, sigo con el tutorial de RoR, esta vez en el capítulo tres voy a empezar a desarrollar una aplicación completa y entendiéndola en profundidad, ya no solo voy a usar scaffolding y punto. Empiezo por la sección de “Contenido Estático”, me parece cojonuda la idea, siempre es buena idea maximizar a tope el contenido estático, ya que no solo salva tiempo de CPU, sino que además permite que funcionen las técnicas de cacheo de apache, etc… Creo el proyecto nuevo tal y como se especifica.
La estructura de un micropost es fácil a más no poder:
content (string) user_id (integer) que guay que rails me genera solo el id para los microposts :) Así que nada, tiro de nuevo de scaffolding:
case@aesir:~/RoR/proyectos/demo_app$ rails generate scaffold Micropost content:string user_id:integer Y hago el migrate para crearlo en la base de datos
case@aesir:~/RoR/proyectos/demo_app$ rake db:migrate (in /home/case/RoR/proyectos/demo_app) == CreateMicroposts: migrating =============================================== -- create_table(:microposts) -> 0.0061s == CreateMicroposts: migrated (0.0066s) ====================================== Si hago un cat del route.rb, me sale que efectivamente ha añadido solo los microposts
Pues eso, utilizando scaffolding a cascoporro vamos a hacer un Twuttur, la idea no es hacerme experto en RoR del tirón, sino ir poco a poco viendo la estructura en general y el funcionamiento de una aplicación.
rails new demo_app Y ya tenemos la base creada. Edito el Gemfile, que creo recordar que contiene los módulos (Gems) de los que depende la aplicación. Lo dejo con esta pinta:
source 'http://rubygems.org' gem 'rails', '3.0.1' gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3' Esc+:wq… entiendo que estoy diciendo que voy a usar rails 3.0.1 y sqlite3-ruby 1.2.5 lo cual depende de sqlite3. Para instalar estas dependencias:
Bueno, pues en el capítulo uno del tutorial he configurado el entorno y seguido un pequeño workflow de trabajo, desde la creación de la aplicación hasta su despliegue en Heroku, pasando por el control de versiones con Git y GitHub.
El único inconveniente que le veo es que… efectivamente, no he aprendido nada de Ruby ni de Rails.
Ahora pequeña lista de cosas que me gustan:
Ecosistema de herramientas bien acoplado y funcional (espectacular la comunicación Heroku - GitHub) Generador de código automático (¿Spring Roo?) El tutorial te hace seguir buenas prácticas y con herramientas modernas. El entorno de desarrollo es UNIX! No es necesario un IDE mamotrético, al menos de momento. Cosas que no me han gustado: