SlideShare uma empresa Scribd logo
1 de 100
Expertos en estrategia y diseño




         Pio.la
Como iniciarse en Rails


        Noviembre de 2009

  Fabían Andrés Ramírez Sepúlveda
    <framirez@ayerviernes.com>
Expertos en estrategia y diseño




¿Como iniciarse en Rails?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Tienes tu modelo de negocios?
Expertos en estrategia y diseño




  ¿Como iniciarse en Rails?
• ¿Tienes tu modelo de negocios?
• ¿Tienes la estrategia que vas a utilizar y el diseño de
esto?
Expertos en estrategia y diseño




  ¿Como iniciarse en Rails?
• ¿Tienes tu modelo de negocios?
• ¿Tienes la estrategia que vas a utilizar y el diseño de
esto?
   AyerViernes S.A. especialista en esto.
Expertos en estrategia y diseño




  ¿Como iniciarse en Rails?
• ¿Tienes tu modelo de negocios?
• ¿Tienes la estrategia que vas a utilizar y el diseño de
esto?
   AyerViernes S.A. especialista en esto.


• ¿Tienes el diseño del sistema?
Expertos en estrategia y diseño




  ¿Como iniciarse en Rails?
• ¿Tienes tu modelo de negocios?
• ¿Tienes la estrategia que vas a utilizar y el diseño de
esto?
   AyerViernes S.A. especialista en esto.


• ¿Tienes el diseño del sistema?
  ¿Tienes los modelos de bases de datos?
Expertos en estrategia y diseño




  ¿Como iniciarse en Rails?
• ¿Tienes tu modelo de negocios?
• ¿Tienes la estrategia que vas a utilizar y el diseño de
esto?
   AyerViernes S.A. especialista en esto.


• ¿Tienes el diseño del sistema?
  ¿Tienes los modelos de bases de datos?
  ¿Tienes diagramas de casos de uso?
Expertos en estrategia y diseño




  ¿Como iniciarse en Rails?
• ¿Tienes tu modelo de negocios?
• ¿Tienes la estrategia que vas a utilizar y el diseño de
esto?
   AyerViernes S.A. especialista en esto.


• ¿Tienes el diseño del sistema?
  ¿Tienes los modelos de bases de datos?
  ¿Tienes diagramas de casos de uso?
  ¿Tienes diagramas de colaboracion?
Expertos en estrategia y diseño




¿Como iniciarse en Rails?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
• ¿Sabes de CSS?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
• ¿Sabes de CSS?
• ¿Sabes de Ruby?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
• ¿Sabes de CSS?
• ¿Sabes de Ruby?
  Comienza leyendo un buen manual
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
• ¿Sabes de CSS?
• ¿Sabes de Ruby?
  Comienza leyendo un buen manual


• ¿Sabes de MVC?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
• ¿Sabes de CSS?
• ¿Sabes de Ruby?
  Comienza leyendo un buen manual


• ¿Sabes de MVC?
  ¿Que es el Modelo?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
• ¿Sabes de CSS?
• ¿Sabes de Ruby?
  Comienza leyendo un buen manual


• ¿Sabes de MVC?
 ¿Que es el Modelo?
 ¿Que es la Vista?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes de HTML?
• ¿Sabes de CSS?
• ¿Sabes de Ruby?
  Comienza leyendo un buen manual


• ¿Sabes de MVC?
 ¿Que es el Modelo?
 ¿Que es la Vista?
 ¿Que es el controlador?
Expertos en estrategia y diseño




¿Como iniciarse en Rails?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes trabajar con una consola?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes trabajar con una consola?
• ¿Sabes que es un IDE?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes trabajar con una consola?
• ¿Sabes que es un IDE?
• ¿Sabes como trabaja una base de datos?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes trabajar con una consola?
• ¿Sabes que es un IDE?
• ¿Sabes como trabaja una base de datos?
 No es necesario, para esto esta Migrations
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes trabajar con una consola?
• ¿Sabes que es un IDE?
• ¿Sabes como trabaja una base de datos?
 No es necesario, para esto esta Migrations
 Si es necesario tener tu modelo de datos
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes trabajar con una consola?
• ¿Sabes que es un IDE?
• ¿Sabes como trabaja una base de datos?
 No es necesario, para esto esta Migrations
 Si es necesario tener tu modelo de datos


• ¿Eres flojo?
Expertos en estrategia y diseño




 ¿Como iniciarse en Rails?
• ¿Sabes trabajar con una consola?
• ¿Sabes que es un IDE?
• ¿Sabes como trabaja una base de datos?
 No es necesario, para esto esta Migrations
 Si es necesario tener tu modelo de datos


• ¿Eres flojo?
 Usa Scaffold (Andamio), pero no es recomendable para comenzar
Expertos en estrategia y diseño




¿Modelo?
Expertos en estrategia y diseño




              ¿Modelo?
• Vamos depurando
Expertos en estrategia y diseño




               ¿Modelo?
• Vamos depurando
• ¿Que es el modelo?
Expertos en estrategia y diseño




               ¿Modelo?
• Vamos depurando
• ¿Que es el modelo?
Expertos en estrategia y diseño




                 ¿Modelo?
• Vamos depurando
• ¿Que es el modelo?

Esta es la representación específica de la información
con la cual el sistema opera. La lógica de datos asegura
la integridad de estos y permite derivar nuevos datos;
por ejemplo, no permitiendo comparar un número de
unidades negativo, calculando si hoy es el cumpleaños
del usuario o los totales, impuestos o importes en un
carrito de la compra. (Wikipedia)
Expertos en estrategia y diseño




¿Modelo?
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
• Extiende de ActiveRecord
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
• Extiende de ActiveRecord
• Nos ayuda a comunicarnos con la base de datos
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
• Extiende de ActiveRecord
• Nos ayuda a comunicarnos con la base de datos
• Gracias a esto, no es necesario crear los CRUD
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
• Extiende de ActiveRecord
• Nos ayuda a comunicarnos con la base de datos
• Gracias a esto, no es necesario crear los CRUD
• Crear (Modelo.new)
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
• Extiende de ActiveRecord
• Nos ayuda a comunicarnos con la base de datos
• Gracias a esto, no es necesario crear los CRUD
• Crear (Modelo.new)
• Leer (Modelo.find)
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
• Extiende de ActiveRecord
• Nos ayuda a comunicarnos con la base de datos
• Gracias a esto, no es necesario crear los CRUD
• Crear (Modelo.new)
• Leer (Modelo.find)
• Updatear (Modelo.update_attributes)
Expertos en estrategia y diseño




                   ¿Modelo?
• Es una “clase”
• Extiende de ActiveRecord
• Nos ayuda a comunicarnos con la base de datos
• Gracias a esto, no es necesario crear los CRUD
• Crear (Modelo.new)
• Leer (Modelo.find)
• Updatear (Modelo.update_attributes)
• Eliminar (Modelo.delete)
Expertos en estrategia y diseño




¿Modelo que?
Expertos en estrategia y diseño




            ¿Modelo que?




Se generan con:
 ruby script/generate Model
Expertos en estrategia y diseño




             ¿Modelo que?




Se generan con:
 ruby script/generate Model

Produce un Modelo + Migración + Test Unitario + Fixture
 Se almacena en app/models/
Expertos en estrategia y diseño




¿Controlador?
Expertos en estrategia y diseño




           ¿Controlador?
• Vamos depurando
Expertos en estrategia y diseño




            ¿Controlador?
• Vamos depurando
• ¿Que es el Controlador?
Expertos en estrategia y diseño




            ¿Controlador?
• Vamos depurando
• ¿Que es el Controlador?
Expertos en estrategia y diseño




            ¿Controlador?
• Vamos depurando
• ¿Que es el Controlador?

Este responde a eventos, usualmente acciones del
usuario e invoca cambios en el modelo y
probablemente en la vista.
Expertos en estrategia y diseño




            ¿Controlador?
• Vamos depurando
• ¿Que es el Controlador?

Este responde a eventos, usualmente acciones del
usuario e invoca cambios en el modelo y
probablemente en la vista.

Ejemplo: http://localhost:3000/usuarios/listar
Expertos en estrategia y diseño




             ¿Controlador?
• Vamos depurando
• ¿Que es el Controlador?

Este responde a eventos, usualmente acciones del
usuario e invoca cambios en el modelo y
probablemente en la vista.

Ejemplo: http://localhost:3000/usuarios/listar
Clase Controladora: Usuarios
Acción del Controlador: listar
Expertos en estrategia y diseño




¿Controlador?
Expertos en estrategia y diseño




            ¿Controlador?
• Es una clase
Expertos en estrategia y diseño




             ¿Controlador?
• Es una clase
• Extiende de ApplicationController
Expertos en estrategia y diseño




             ¿Controlador?
• Es una clase
• Extiende de ApplicationController

• La clase ApplicationController extiende de
ActionController::Base
Expertos en estrategia y diseño




             ¿Controlador?
• Es una clase
• Extiende de ApplicationController

• La clase ApplicationController extiende de
ActionController::Base

• Es la que contiene las acciones
Expertos en estrategia y diseño




             ¿Controlador?
• Es una clase
• Extiende de ApplicationController

• La clase ApplicationController extiende de
ActionController::Base

• Es la que contiene las acciones
• Aca programas casi todo
Expertos en estrategia y diseño




¿Vista?
Expertos en estrategia y diseño




                  ¿Vista?
• Es HTML + Metalenguaje (Helpers)
Expertos en estrategia y diseño




                  ¿Vista?
• Es HTML + Metalenguaje (Helpers)
• Normalmente terminan en:
Expertos en estrategia y diseño




                  ¿Vista?
• Es HTML + Metalenguaje (Helpers)
• Normalmente terminan en:
 erb
Expertos en estrategia y diseño




                  ¿Vista?
• Es HTML + Metalenguaje (Helpers)
• Normalmente terminan en:
 erb
 rhtml
Expertos en estrategia y diseño




                    ¿Vista?
• Es HTML + Metalenguaje (Helpers)
• Normalmente terminan en:
 erb
 rhtml

• Contiene toda la salida html se podría decir, producida
por el controlador. (YIELD)
Expertos en estrategia y diseño




                     ¿Vista?
• Es HTML + Metalenguaje (Helpers)
• Normalmente terminan en:
  erb
  rhtml

• Contiene toda la salida html se podría decir, producida
por el controlador. (YIELD)

• Existen componentes reusables que son pedazos de
vistas que se reutilizan. (Partials)
Expertos en estrategia y diseño




¿Como comienzo?
Expertos en estrategia y diseño




         ¿Como comienzo?
• Instalate Ruby
 http://www.ruby-lang.org/es/
Expertos en estrategia y diseño




         ¿Como comienzo?
• Instalate Ruby
 http://www.ruby-lang.org/es/

• O instala un paquete windows
Expertos en estrategia y diseño




         ¿Como comienzo?
• Instalate Ruby
 http://www.ruby-lang.org/es/

• O instala un paquete windows
 completo:
  http://rubyforge.org/frs/?group_id=167
Expertos en estrategia y diseño




         ¿Como comienzo?
• Instalate Ruby
 http://www.ruby-lang.org/es/

• O instala un paquete windows
 completo:
  http://rubyforge.org/frs/?group_id=167

• Instalate gems (Si ya instalaste el anterior estas ok)
 apt-get install ruby rb-gems
Expertos en estrategia y diseño




         ¿Como comienzo?
• Instalate Ruby
  http://www.ruby-lang.org/es/

• O instala un paquete windows
 completo:
  http://rubyforge.org/frs/?group_id=167

• Instalate gems (Si ya instalaste el anterior estas ok)
  apt-get install ruby rb-gems

• Si tienes mac solo te falta actualizar la version de rails
en tu sistema. gem update
Expertos en estrategia y diseño




¿Quiero ver?
Expertos en estrategia y diseño




              ¿Quiero ver?
• La necesidad de “1” persona que
 quiere gestionar sus gastos.
Expertos en estrategia y diseño




              ¿Quiero ver?
• La necesidad de “1” persona que
 quiere gestionar sus gastos.

• Debe tener múltiples gastos asociados con fecha,
nombre, descripción, monto.
Expertos en estrategia y diseño




                   ¿Quiero ver?
• La necesidad de “1” persona que
 quiere gestionar sus gastos.

• Debe tener múltiples gastos asociados con fecha,
nombre, descripción, monto.

 rails gastos
 cd gastos
 ruby script/generate Model Gasto
 ruby script/generate Controller Gastos index edit view delete
Expertos en estrategia y diseño




                   ¿Quiero ver?
• La necesidad de “1” persona que
 quiere gestionar sus gastos.

• Debe tener múltiples gastos asociados con fecha,
nombre, descripción, monto.

 rails gastos
 cd gastos
 ruby script/generate Model Gasto
 ruby script/generate Controller Gastos index edit view delete
Expertos en estrategia y diseño




¿Quiero ver?
Expertos en estrategia y diseño




              ¿Quiero ver?
• Corro la base de datos.
Expertos en estrategia y diseño




               ¿Quiero ver?
• Corro la base de datos.
• Abro el archivo de configuración de la base de datos y
lo configuro.
Expertos en estrategia y diseño




               ¿Quiero ver?
• Corro la base de datos.
• Abro el archivo de configuración de la base de datos y
lo configuro.

• Modifico la migración del archivo según el gusto.
Expertos en estrategia y diseño




               ¿Quiero ver?
• Corro la base de datos.
• Abro el archivo de configuración de la base de datos y
lo configuro.

• Modifico la migración del archivo según el gusto.
• Corro rake db:migrate
Expertos en estrategia y diseño




               ¿Quiero ver?
• Corro la base de datos.
• Abro el archivo de configuración de la base de datos y
lo configuro.

• Modifico la migración del archivo según el gusto.
• Corro rake db:migrate
• Comienzo a programar el controlador y las vistas
Expertos en estrategia y diseño




¿Quiero ver?
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>


Para crear un input, insertas dentro del formulario
<%= f.label :titulo, "Hola mundo RoR" %>
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>


Para crear un input, insertas dentro del formulario
<%= f.label :titulo, "Hola mundo RoR" %>
<%= f.text_field(:titulo) %>


Para crear un textarea
<%= f.label :cuerpo, "Esta es mi descripción" %>
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>


Para crear un input, insertas dentro del formulario
<%= f.label :titulo, "Hola mundo RoR" %>
<%= f.text_field(:titulo) %>


Para crear un textarea
<%= f.label :cuerpo, "Esta es mi descripción" %>
<%= f.text_area(:cuerpo) %>
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>


Para crear un input, insertas dentro del formulario
<%= f.label :titulo, "Hola mundo RoR" %>
<%= f.text_field(:titulo) %>


Para crear un textarea
<%= f.label :cuerpo, "Esta es mi descripción" %>
<%= f.text_area(:cuerpo) %>


Para crear un select recoges los elementos desde el modelo que quieres listar.
<%= f.label :pais_id, "Pais" %>
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>


Para crear un input, insertas dentro del formulario
<%= f.label :titulo, "Hola mundo RoR" %>
<%= f.text_field(:titulo) %>


Para crear un textarea
<%= f.label :cuerpo, "Esta es mi descripción" %>
<%= f.text_area(:cuerpo) %>


Para crear un select recoges los elementos desde el modelo que quieres listar.
<%= f.label :pais_id, "Pais" %>
<%= f.select ("pais_id", @paises.map {|u| [u.nombre,u.id]}) %>
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>


Para crear un input, insertas dentro del formulario
<%= f.label :titulo, "Hola mundo RoR" %>
<%= f.text_field(:titulo) %>


Para crear un textarea
<%= f.label :cuerpo, "Esta es mi descripción" %>
<%= f.text_area(:cuerpo) %>


Para crear un select recoges los elementos desde el modelo que quieres listar.
<%= f.label :pais_id, "Pais" %>
<%= f.select ("pais_id", @paises.map {|u| [u.nombre,u.id]}) %>


Para crear un radiobutton
<%= f.radio_button("sexo", "m")
Expertos en estrategia y diseño




                           ¿Quiero ver?
 Para crear un formulario se utiliza el helper form.
<% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %>
<% end %>


Para crear un input, insertas dentro del formulario
<%= f.label :titulo, "Hola mundo RoR" %>
<%= f.text_field(:titulo) %>


Para crear un textarea
<%= f.label :cuerpo, "Esta es mi descripción" %>
<%= f.text_area(:cuerpo) %>


Para crear un select recoges los elementos desde el modelo que quieres listar.
<%= f.label :pais_id, "Pais" %>
<%= f.select ("pais_id", @paises.map {|u| [u.nombre,u.id]}) %>


Para crear un radiobutton
<%= f.radio_button("sexo", "m")
<%= radio_button("user", "sexo", "f")%>
Expertos en estrategia y diseño




¿Quiero ver?
Expertos en estrategia y diseño




              ¿Quiero ver?
• Listamos los gastos con la acción index
Expertos en estrategia y diseño




              ¿Quiero ver?
• Listamos los gastos con la acción index
• Generamos nuevos gastos con la acción add
Expertos en estrategia y diseño




              ¿Quiero ver?
• Listamos los gastos con la acción index
• Generamos nuevos gastos con la acción add
• Editamos los gastos con la acción edit
Expertos en estrategia y diseño




              ¿Quiero ver?
• Listamos los gastos con la acción index
• Generamos nuevos gastos con la acción add
• Editamos los gastos con la acción edit
• Eliminamos los gastos con la acción delete
Expertos en estrategia y diseño




¿Quiero ver?
Expertos en estrategia y diseño




              ¿Quiero ver?
• Los puedo editar y todo, pero quiero
 que me de un resumen
Expertos en estrategia y diseño




              ¿Quiero ver?
• Los puedo editar y todo, pero quiero
 que me de un resumen


• Creo una nueva accion dentro del controlador llamada
resume
Expertos en estrategia y diseño




              ¿Quiero ver?
• Los puedo editar y todo, pero quiero
 que me de un resumen


• Creo una nueva accion dentro del controlador llamada
resume

• Genero una vista
Expertos en estrategia y diseño




              ¿Quiero ver?
• Los puedo editar y todo, pero quiero
 que me de un resumen


• Creo una nueva accion dentro del controlador llamada
resume

• Genero una vista

• Traspaso resultados desde el controller a la vista
Expertos en estrategia y diseño




¿Preguntas?

Mais conteúdo relacionado

Semelhante a Como Iniciarse En Rails

Taller de familias Revit 2014
Taller de familias Revit 2014Taller de familias Revit 2014
Taller de familias Revit 2014Ricardo Zepeda
 
Talleres De Arquitectura V2
Talleres De Arquitectura V2Talleres De Arquitectura V2
Talleres De Arquitectura V2BizBlick
 
Crece tu Carrera con Trailhead y Encuentra tu Trabajo Ideal
Crece tu Carrera con Trailhead y Encuentra tu Trabajo IdealCrece tu Carrera con Trailhead y Encuentra tu Trabajo Ideal
Crece tu Carrera con Trailhead y Encuentra tu Trabajo IdealTeresa Garcia-Bovenmyer ☁
 
CAS2019 porque los developers recelan de agile
CAS2019 porque los developers recelan de agileCAS2019 porque los developers recelan de agile
CAS2019 porque los developers recelan de agileOriol del Barrio
 
14 arquitectura de sistemas
14 arquitectura de sistemas14 arquitectura de sistemas
14 arquitectura de sistemasLuis Vidal
 
Presentación - Modelos Mentales
Presentación - Modelos MentalesPresentación - Modelos Mentales
Presentación - Modelos MentalesC. Fattori
 
Sketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividadSketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividadFlat 101
 
Tecnología CASE
Tecnología CASE Tecnología CASE
Tecnología CASE fredi141x
 
Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...
Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...
Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...Laura Pereiro
 
Aplicaciones web distribuidas ronald arias
Aplicaciones web distribuidas   ronald ariasAplicaciones web distribuidas   ronald arias
Aplicaciones web distribuidas ronald ariasCaracas-Tech-Meetup
 
Agile university day intro agile y scrum
Agile university day   intro agile y scrumAgile university day   intro agile y scrum
Agile university day intro agile y scrumagilenavarra
 
Modelo de Gestión Ágil
Modelo de Gestión ÁgilModelo de Gestión Ágil
Modelo de Gestión Ágiljansola
 

Semelhante a Como Iniciarse En Rails (20)

Taller de familias Revit 2014
Taller de familias Revit 2014Taller de familias Revit 2014
Taller de familias Revit 2014
 
Taller de Design Thinking v2 20140308
Taller de Design Thinking v2 20140308Taller de Design Thinking v2 20140308
Taller de Design Thinking v2 20140308
 
Unidad 1 clase 1 y 2
Unidad 1 clase 1 y 2Unidad 1 clase 1 y 2
Unidad 1 clase 1 y 2
 
SWOT - FODA
SWOT - FODASWOT - FODA
SWOT - FODA
 
@Scaling desde la trincheras
@Scaling desde la trincheras@Scaling desde la trincheras
@Scaling desde la trincheras
 
Talleres De Arquitectura V2
Talleres De Arquitectura V2Talleres De Arquitectura V2
Talleres De Arquitectura V2
 
Agile Inception
Agile InceptionAgile Inception
Agile Inception
 
Crece tu Carrera con Trailhead y Encuentra tu Trabajo Ideal
Crece tu Carrera con Trailhead y Encuentra tu Trabajo IdealCrece tu Carrera con Trailhead y Encuentra tu Trabajo Ideal
Crece tu Carrera con Trailhead y Encuentra tu Trabajo Ideal
 
Escalando Agile con SAFe
Escalando Agile con SAFeEscalando Agile con SAFe
Escalando Agile con SAFe
 
ARQUITECTO SOA
ARQUITECTO SOAARQUITECTO SOA
ARQUITECTO SOA
 
CAS2019 porque los developers recelan de agile
CAS2019 porque los developers recelan de agileCAS2019 porque los developers recelan de agile
CAS2019 porque los developers recelan de agile
 
14 arquitectura de sistemas
14 arquitectura de sistemas14 arquitectura de sistemas
14 arquitectura de sistemas
 
Sesión03 2014 proceso desarrollo sw
Sesión03 2014 proceso desarrollo swSesión03 2014 proceso desarrollo sw
Sesión03 2014 proceso desarrollo sw
 
Presentación - Modelos Mentales
Presentación - Modelos MentalesPresentación - Modelos Mentales
Presentación - Modelos Mentales
 
Sketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividadSketch Tips & Tricks que optimizan la creatividad
Sketch Tips & Tricks que optimizan la creatividad
 
Tecnología CASE
Tecnología CASE Tecnología CASE
Tecnología CASE
 
Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...
Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...
Qué es DISC y por qué es una herramienta clave para RRHH y Coaches? de DISC F...
 
Aplicaciones web distribuidas ronald arias
Aplicaciones web distribuidas   ronald ariasAplicaciones web distribuidas   ronald arias
Aplicaciones web distribuidas ronald arias
 
Agile university day intro agile y scrum
Agile university day   intro agile y scrumAgile university day   intro agile y scrum
Agile university day intro agile y scrum
 
Modelo de Gestión Ágil
Modelo de Gestión ÁgilModelo de Gestión Ágil
Modelo de Gestión Ágil
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (15)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Como Iniciarse En Rails

  • 1. Expertos en estrategia y diseño Pio.la Como iniciarse en Rails Noviembre de 2009 Fabían Andrés Ramírez Sepúlveda <framirez@ayerviernes.com>
  • 2. Expertos en estrategia y diseño ¿Como iniciarse en Rails?
  • 3. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Tienes tu modelo de negocios?
  • 4. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Tienes tu modelo de negocios? • ¿Tienes la estrategia que vas a utilizar y el diseño de esto?
  • 5. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Tienes tu modelo de negocios? • ¿Tienes la estrategia que vas a utilizar y el diseño de esto? AyerViernes S.A. especialista en esto.
  • 6. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Tienes tu modelo de negocios? • ¿Tienes la estrategia que vas a utilizar y el diseño de esto? AyerViernes S.A. especialista en esto. • ¿Tienes el diseño del sistema?
  • 7. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Tienes tu modelo de negocios? • ¿Tienes la estrategia que vas a utilizar y el diseño de esto? AyerViernes S.A. especialista en esto. • ¿Tienes el diseño del sistema? ¿Tienes los modelos de bases de datos?
  • 8. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Tienes tu modelo de negocios? • ¿Tienes la estrategia que vas a utilizar y el diseño de esto? AyerViernes S.A. especialista en esto. • ¿Tienes el diseño del sistema? ¿Tienes los modelos de bases de datos? ¿Tienes diagramas de casos de uso?
  • 9. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Tienes tu modelo de negocios? • ¿Tienes la estrategia que vas a utilizar y el diseño de esto? AyerViernes S.A. especialista en esto. • ¿Tienes el diseño del sistema? ¿Tienes los modelos de bases de datos? ¿Tienes diagramas de casos de uso? ¿Tienes diagramas de colaboracion?
  • 10. Expertos en estrategia y diseño ¿Como iniciarse en Rails?
  • 11. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML?
  • 12. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML? • ¿Sabes de CSS?
  • 13. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML? • ¿Sabes de CSS? • ¿Sabes de Ruby?
  • 14. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML? • ¿Sabes de CSS? • ¿Sabes de Ruby? Comienza leyendo un buen manual
  • 15. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML? • ¿Sabes de CSS? • ¿Sabes de Ruby? Comienza leyendo un buen manual • ¿Sabes de MVC?
  • 16. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML? • ¿Sabes de CSS? • ¿Sabes de Ruby? Comienza leyendo un buen manual • ¿Sabes de MVC? ¿Que es el Modelo?
  • 17. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML? • ¿Sabes de CSS? • ¿Sabes de Ruby? Comienza leyendo un buen manual • ¿Sabes de MVC? ¿Que es el Modelo? ¿Que es la Vista?
  • 18. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes de HTML? • ¿Sabes de CSS? • ¿Sabes de Ruby? Comienza leyendo un buen manual • ¿Sabes de MVC? ¿Que es el Modelo? ¿Que es la Vista? ¿Que es el controlador?
  • 19. Expertos en estrategia y diseño ¿Como iniciarse en Rails?
  • 20. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes trabajar con una consola?
  • 21. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes trabajar con una consola? • ¿Sabes que es un IDE?
  • 22. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes trabajar con una consola? • ¿Sabes que es un IDE? • ¿Sabes como trabaja una base de datos?
  • 23. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes trabajar con una consola? • ¿Sabes que es un IDE? • ¿Sabes como trabaja una base de datos? No es necesario, para esto esta Migrations
  • 24. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes trabajar con una consola? • ¿Sabes que es un IDE? • ¿Sabes como trabaja una base de datos? No es necesario, para esto esta Migrations Si es necesario tener tu modelo de datos
  • 25. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes trabajar con una consola? • ¿Sabes que es un IDE? • ¿Sabes como trabaja una base de datos? No es necesario, para esto esta Migrations Si es necesario tener tu modelo de datos • ¿Eres flojo?
  • 26. Expertos en estrategia y diseño ¿Como iniciarse en Rails? • ¿Sabes trabajar con una consola? • ¿Sabes que es un IDE? • ¿Sabes como trabaja una base de datos? No es necesario, para esto esta Migrations Si es necesario tener tu modelo de datos • ¿Eres flojo? Usa Scaffold (Andamio), pero no es recomendable para comenzar
  • 27. Expertos en estrategia y diseño ¿Modelo?
  • 28. Expertos en estrategia y diseño ¿Modelo? • Vamos depurando
  • 29. Expertos en estrategia y diseño ¿Modelo? • Vamos depurando • ¿Que es el modelo?
  • 30. Expertos en estrategia y diseño ¿Modelo? • Vamos depurando • ¿Que es el modelo?
  • 31. Expertos en estrategia y diseño ¿Modelo? • Vamos depurando • ¿Que es el modelo? Esta es la representación específica de la información con la cual el sistema opera. La lógica de datos asegura la integridad de estos y permite derivar nuevos datos; por ejemplo, no permitiendo comparar un número de unidades negativo, calculando si hoy es el cumpleaños del usuario o los totales, impuestos o importes en un carrito de la compra. (Wikipedia)
  • 32. Expertos en estrategia y diseño ¿Modelo?
  • 33. Expertos en estrategia y diseño ¿Modelo? • Es una “clase”
  • 34. Expertos en estrategia y diseño ¿Modelo? • Es una “clase” • Extiende de ActiveRecord
  • 35. Expertos en estrategia y diseño ¿Modelo? • Es una “clase” • Extiende de ActiveRecord • Nos ayuda a comunicarnos con la base de datos
  • 36. Expertos en estrategia y diseño ¿Modelo? • Es una “clase” • Extiende de ActiveRecord • Nos ayuda a comunicarnos con la base de datos • Gracias a esto, no es necesario crear los CRUD
  • 37. Expertos en estrategia y diseño ¿Modelo? • Es una “clase” • Extiende de ActiveRecord • Nos ayuda a comunicarnos con la base de datos • Gracias a esto, no es necesario crear los CRUD • Crear (Modelo.new)
  • 38. Expertos en estrategia y diseño ¿Modelo? • Es una “clase” • Extiende de ActiveRecord • Nos ayuda a comunicarnos con la base de datos • Gracias a esto, no es necesario crear los CRUD • Crear (Modelo.new) • Leer (Modelo.find)
  • 39. Expertos en estrategia y diseño ¿Modelo? • Es una “clase” • Extiende de ActiveRecord • Nos ayuda a comunicarnos con la base de datos • Gracias a esto, no es necesario crear los CRUD • Crear (Modelo.new) • Leer (Modelo.find) • Updatear (Modelo.update_attributes)
  • 40. Expertos en estrategia y diseño ¿Modelo? • Es una “clase” • Extiende de ActiveRecord • Nos ayuda a comunicarnos con la base de datos • Gracias a esto, no es necesario crear los CRUD • Crear (Modelo.new) • Leer (Modelo.find) • Updatear (Modelo.update_attributes) • Eliminar (Modelo.delete)
  • 41. Expertos en estrategia y diseño ¿Modelo que?
  • 42. Expertos en estrategia y diseño ¿Modelo que? Se generan con: ruby script/generate Model
  • 43. Expertos en estrategia y diseño ¿Modelo que? Se generan con: ruby script/generate Model Produce un Modelo + Migración + Test Unitario + Fixture Se almacena en app/models/
  • 44. Expertos en estrategia y diseño ¿Controlador?
  • 45. Expertos en estrategia y diseño ¿Controlador? • Vamos depurando
  • 46. Expertos en estrategia y diseño ¿Controlador? • Vamos depurando • ¿Que es el Controlador?
  • 47. Expertos en estrategia y diseño ¿Controlador? • Vamos depurando • ¿Que es el Controlador?
  • 48. Expertos en estrategia y diseño ¿Controlador? • Vamos depurando • ¿Que es el Controlador? Este responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista.
  • 49. Expertos en estrategia y diseño ¿Controlador? • Vamos depurando • ¿Que es el Controlador? Este responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista. Ejemplo: http://localhost:3000/usuarios/listar
  • 50. Expertos en estrategia y diseño ¿Controlador? • Vamos depurando • ¿Que es el Controlador? Este responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista. Ejemplo: http://localhost:3000/usuarios/listar Clase Controladora: Usuarios Acción del Controlador: listar
  • 51. Expertos en estrategia y diseño ¿Controlador?
  • 52. Expertos en estrategia y diseño ¿Controlador? • Es una clase
  • 53. Expertos en estrategia y diseño ¿Controlador? • Es una clase • Extiende de ApplicationController
  • 54. Expertos en estrategia y diseño ¿Controlador? • Es una clase • Extiende de ApplicationController • La clase ApplicationController extiende de ActionController::Base
  • 55. Expertos en estrategia y diseño ¿Controlador? • Es una clase • Extiende de ApplicationController • La clase ApplicationController extiende de ActionController::Base • Es la que contiene las acciones
  • 56. Expertos en estrategia y diseño ¿Controlador? • Es una clase • Extiende de ApplicationController • La clase ApplicationController extiende de ActionController::Base • Es la que contiene las acciones • Aca programas casi todo
  • 57. Expertos en estrategia y diseño ¿Vista?
  • 58. Expertos en estrategia y diseño ¿Vista? • Es HTML + Metalenguaje (Helpers)
  • 59. Expertos en estrategia y diseño ¿Vista? • Es HTML + Metalenguaje (Helpers) • Normalmente terminan en:
  • 60. Expertos en estrategia y diseño ¿Vista? • Es HTML + Metalenguaje (Helpers) • Normalmente terminan en: erb
  • 61. Expertos en estrategia y diseño ¿Vista? • Es HTML + Metalenguaje (Helpers) • Normalmente terminan en: erb rhtml
  • 62. Expertos en estrategia y diseño ¿Vista? • Es HTML + Metalenguaje (Helpers) • Normalmente terminan en: erb rhtml • Contiene toda la salida html se podría decir, producida por el controlador. (YIELD)
  • 63. Expertos en estrategia y diseño ¿Vista? • Es HTML + Metalenguaje (Helpers) • Normalmente terminan en: erb rhtml • Contiene toda la salida html se podría decir, producida por el controlador. (YIELD) • Existen componentes reusables que son pedazos de vistas que se reutilizan. (Partials)
  • 64. Expertos en estrategia y diseño ¿Como comienzo?
  • 65. Expertos en estrategia y diseño ¿Como comienzo? • Instalate Ruby http://www.ruby-lang.org/es/
  • 66. Expertos en estrategia y diseño ¿Como comienzo? • Instalate Ruby http://www.ruby-lang.org/es/ • O instala un paquete windows
  • 67. Expertos en estrategia y diseño ¿Como comienzo? • Instalate Ruby http://www.ruby-lang.org/es/ • O instala un paquete windows completo: http://rubyforge.org/frs/?group_id=167
  • 68. Expertos en estrategia y diseño ¿Como comienzo? • Instalate Ruby http://www.ruby-lang.org/es/ • O instala un paquete windows completo: http://rubyforge.org/frs/?group_id=167 • Instalate gems (Si ya instalaste el anterior estas ok) apt-get install ruby rb-gems
  • 69. Expertos en estrategia y diseño ¿Como comienzo? • Instalate Ruby http://www.ruby-lang.org/es/ • O instala un paquete windows completo: http://rubyforge.org/frs/?group_id=167 • Instalate gems (Si ya instalaste el anterior estas ok) apt-get install ruby rb-gems • Si tienes mac solo te falta actualizar la version de rails en tu sistema. gem update
  • 70. Expertos en estrategia y diseño ¿Quiero ver?
  • 71. Expertos en estrategia y diseño ¿Quiero ver? • La necesidad de “1” persona que quiere gestionar sus gastos.
  • 72. Expertos en estrategia y diseño ¿Quiero ver? • La necesidad de “1” persona que quiere gestionar sus gastos. • Debe tener múltiples gastos asociados con fecha, nombre, descripción, monto.
  • 73. Expertos en estrategia y diseño ¿Quiero ver? • La necesidad de “1” persona que quiere gestionar sus gastos. • Debe tener múltiples gastos asociados con fecha, nombre, descripción, monto. rails gastos cd gastos ruby script/generate Model Gasto ruby script/generate Controller Gastos index edit view delete
  • 74. Expertos en estrategia y diseño ¿Quiero ver? • La necesidad de “1” persona que quiere gestionar sus gastos. • Debe tener múltiples gastos asociados con fecha, nombre, descripción, monto. rails gastos cd gastos ruby script/generate Model Gasto ruby script/generate Controller Gastos index edit view delete
  • 75. Expertos en estrategia y diseño ¿Quiero ver?
  • 76. Expertos en estrategia y diseño ¿Quiero ver? • Corro la base de datos.
  • 77. Expertos en estrategia y diseño ¿Quiero ver? • Corro la base de datos. • Abro el archivo de configuración de la base de datos y lo configuro.
  • 78. Expertos en estrategia y diseño ¿Quiero ver? • Corro la base de datos. • Abro el archivo de configuración de la base de datos y lo configuro. • Modifico la migración del archivo según el gusto.
  • 79. Expertos en estrategia y diseño ¿Quiero ver? • Corro la base de datos. • Abro el archivo de configuración de la base de datos y lo configuro. • Modifico la migración del archivo según el gusto. • Corro rake db:migrate
  • 80. Expertos en estrategia y diseño ¿Quiero ver? • Corro la base de datos. • Abro el archivo de configuración de la base de datos y lo configuro. • Modifico la migración del archivo según el gusto. • Corro rake db:migrate • Comienzo a programar el controlador y las vistas
  • 81. Expertos en estrategia y diseño ¿Quiero ver?
  • 82. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %>
  • 83. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %> Para crear un input, insertas dentro del formulario <%= f.label :titulo, "Hola mundo RoR" %>
  • 84. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %> Para crear un input, insertas dentro del formulario <%= f.label :titulo, "Hola mundo RoR" %> <%= f.text_field(:titulo) %> Para crear un textarea <%= f.label :cuerpo, "Esta es mi descripción" %>
  • 85. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %> Para crear un input, insertas dentro del formulario <%= f.label :titulo, "Hola mundo RoR" %> <%= f.text_field(:titulo) %> Para crear un textarea <%= f.label :cuerpo, "Esta es mi descripción" %> <%= f.text_area(:cuerpo) %>
  • 86. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %> Para crear un input, insertas dentro del formulario <%= f.label :titulo, "Hola mundo RoR" %> <%= f.text_field(:titulo) %> Para crear un textarea <%= f.label :cuerpo, "Esta es mi descripción" %> <%= f.text_area(:cuerpo) %> Para crear un select recoges los elementos desde el modelo que quieres listar. <%= f.label :pais_id, "Pais" %>
  • 87. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %> Para crear un input, insertas dentro del formulario <%= f.label :titulo, "Hola mundo RoR" %> <%= f.text_field(:titulo) %> Para crear un textarea <%= f.label :cuerpo, "Esta es mi descripción" %> <%= f.text_area(:cuerpo) %> Para crear un select recoges los elementos desde el modelo que quieres listar. <%= f.label :pais_id, "Pais" %> <%= f.select ("pais_id", @paises.map {|u| [u.nombre,u.id]}) %>
  • 88. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %> Para crear un input, insertas dentro del formulario <%= f.label :titulo, "Hola mundo RoR" %> <%= f.text_field(:titulo) %> Para crear un textarea <%= f.label :cuerpo, "Esta es mi descripción" %> <%= f.text_area(:cuerpo) %> Para crear un select recoges los elementos desde el modelo que quieres listar. <%= f.label :pais_id, "Pais" %> <%= f.select ("pais_id", @paises.map {|u| [u.nombre,u.id]}) %> Para crear un radiobutton <%= f.radio_button("sexo", "m")
  • 89. Expertos en estrategia y diseño ¿Quiero ver? Para crear un formulario se utiliza el helper form. <% form_for :ejemplo, @ejemplo, :url => {:controller => "ejemplo", :action => "new"} do |f| %> <% end %> Para crear un input, insertas dentro del formulario <%= f.label :titulo, "Hola mundo RoR" %> <%= f.text_field(:titulo) %> Para crear un textarea <%= f.label :cuerpo, "Esta es mi descripción" %> <%= f.text_area(:cuerpo) %> Para crear un select recoges los elementos desde el modelo que quieres listar. <%= f.label :pais_id, "Pais" %> <%= f.select ("pais_id", @paises.map {|u| [u.nombre,u.id]}) %> Para crear un radiobutton <%= f.radio_button("sexo", "m") <%= radio_button("user", "sexo", "f")%>
  • 90. Expertos en estrategia y diseño ¿Quiero ver?
  • 91. Expertos en estrategia y diseño ¿Quiero ver? • Listamos los gastos con la acción index
  • 92. Expertos en estrategia y diseño ¿Quiero ver? • Listamos los gastos con la acción index • Generamos nuevos gastos con la acción add
  • 93. Expertos en estrategia y diseño ¿Quiero ver? • Listamos los gastos con la acción index • Generamos nuevos gastos con la acción add • Editamos los gastos con la acción edit
  • 94. Expertos en estrategia y diseño ¿Quiero ver? • Listamos los gastos con la acción index • Generamos nuevos gastos con la acción add • Editamos los gastos con la acción edit • Eliminamos los gastos con la acción delete
  • 95. Expertos en estrategia y diseño ¿Quiero ver?
  • 96. Expertos en estrategia y diseño ¿Quiero ver? • Los puedo editar y todo, pero quiero que me de un resumen
  • 97. Expertos en estrategia y diseño ¿Quiero ver? • Los puedo editar y todo, pero quiero que me de un resumen • Creo una nueva accion dentro del controlador llamada resume
  • 98. Expertos en estrategia y diseño ¿Quiero ver? • Los puedo editar y todo, pero quiero que me de un resumen • Creo una nueva accion dentro del controlador llamada resume • Genero una vista
  • 99. Expertos en estrategia y diseño ¿Quiero ver? • Los puedo editar y todo, pero quiero que me de un resumen • Creo una nueva accion dentro del controlador llamada resume • Genero una vista • Traspaso resultados desde el controller a la vista
  • 100. Expertos en estrategia y diseño ¿Preguntas?