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?
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?
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
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)
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)
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/
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
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
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)
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
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
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
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")%>
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
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