esteban manchado vel´azquez [email protected]/biblioteca/islam/ror.pdf · 2020. 9....
TRANSCRIPT
![Page 1: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/1.jpg)
Ruby on Rails: la revolucion del desarrollo web
Esteban Manchado [email protected]
15 de octubre de 2005
![Page 2: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/2.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 3: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/3.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 4: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/4.jpg)
Sobre esta charla
• Presentar Ruby y RoR
• Mostrar como hacer una aplicacion
• Cuidado con los mensajes subliminales
![Page 5: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/5.jpg)
Sobre esta charla
• Presentar Ruby y RoR
• Mostrar como hacer una aplicacion
• Cuidado con los mensajes subliminales
![Page 6: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/6.jpg)
Sobre esta charla
• Presentar Ruby y RoR
• Mostrar como hacer una aplicacion
• Cuidado con los mensajes subliminales
![Page 7: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/7.jpg)
Grupo Rubies
• http://www.ruby.org.es
• Noticias, wiki, lista de correo
• Traducciones, documentacion, ...
• ¡Anımense!
• Tambien, lista de RoR-es, independiente
![Page 8: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/8.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 9: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/9.jpg)
¿Que es Ruby?
• Una piedra preciosa
• Un lenguaje de programacion
• Es de proposito general, Rails es solo una de las posibilidadesweb, y aparte hay Ruby/Qt, Ruby/GNOME, etc.
• ((La combinacion ganadora de la elegancia conceptual deSmallTalk, la facilidad de uso y aprendizaje de Python y elpragmatismo de Perl))
• ((Un lenguaje que es como lo mejor de SmallTalk, Perl y Lisp,y sin ruido en la lınea))
![Page 10: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/10.jpg)
¿Que es Ruby?
• Una piedra preciosa
• Un lenguaje de programacion
• Es de proposito general, Rails es solo una de las posibilidadesweb, y aparte hay Ruby/Qt, Ruby/GNOME, etc.
• ((La combinacion ganadora de la elegancia conceptual deSmallTalk, la facilidad de uso y aprendizaje de Python y elpragmatismo de Perl))
• ((Un lenguaje que es como lo mejor de SmallTalk, Perl y Lisp,y sin ruido en la lınea))
![Page 11: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/11.jpg)
¿Que es Ruby?
• Una piedra preciosa
• Un lenguaje de programacion
• Es de proposito general, Rails es solo una de las posibilidadesweb, y aparte hay Ruby/Qt, Ruby/GNOME, etc.
• ((La combinacion ganadora de la elegancia conceptual deSmallTalk, la facilidad de uso y aprendizaje de Python y elpragmatismo de Perl))
• ((Un lenguaje que es como lo mejor de SmallTalk, Perl y Lisp,y sin ruido en la lınea))
![Page 12: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/12.jpg)
¿Que es Ruby?
• Una piedra preciosa
• Un lenguaje de programacion
• Es de proposito general, Rails es solo una de las posibilidadesweb, y aparte hay Ruby/Qt, Ruby/GNOME, etc.
• ((La combinacion ganadora de la elegancia conceptual deSmallTalk, la facilidad de uso y aprendizaje de Python y elpragmatismo de Perl))
• ((Un lenguaje que es como lo mejor de SmallTalk, Perl y Lisp,y sin ruido en la lınea))
![Page 13: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/13.jpg)
¿Que es Ruby?
• Una piedra preciosa
• Un lenguaje de programacion
• Es de proposito general, Rails es solo una de las posibilidadesweb, y aparte hay Ruby/Qt, Ruby/GNOME, etc.
• ((La combinacion ganadora de la elegancia conceptual deSmallTalk, la facilidad de uso y aprendizaje de Python y elpragmatismo de Perl))
• ((Un lenguaje que es como lo mejor de SmallTalk, Perl y Lisp,y sin ruido en la lınea))
![Page 14: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/14.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 15: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/15.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 16: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/16.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 17: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/17.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 18: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/18.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 19: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/19.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 20: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/20.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 21: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/21.jpg)
No es amor, sera...
• Orientacion a objetos obsesiva
• Todo es un objeto y tiene metodos
• 1.upto(10) {|i| puts i}"uno dos tres".split(/ */)
• No hay atributos de objetos (desde fuera)
• Basado en lıneas (no son necesarios ; y similares)
• Aspecto limpio, facil de leer
• Aunque tambien ((Ruby golf)), expresiones regulares...
![Page 22: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/22.jpg)
Ejemplo algo mas ((real))
class Pokemonattr_reader :evolucionado, :nombredef initialize(nombre)
@nombre = nombre@evolucionado = false
enddef evoluciona
puts "Soy el Pokemon #{@nombre}"@evolucionado = true
endend
![Page 23: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/23.jpg)
Ejemplo algo mas ((real))
class Pokemonattr_reader :evolucionado, :nombredef initialize(nombre)
@nombre = nombre@evolucionado = false
enddef evoluciona
puts "Soy el Pokemon #{@nombre}"@evolucionado = true
endend
![Page 24: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/24.jpg)
Ejemplo algo mas ((real))
class Pokemonattr_reader :evolucionado, :nombredef initialize(nombre)
@nombre = nombre@evolucionado = false
enddef evoluciona
puts "Soy el Pokemon #{@nombre}"@evolucionado = true
endend
![Page 25: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/25.jpg)
Ejemplo algo mas ((real))
class Pokemonattr_reader :evolucionado, :nombredef initialize(nombre)
@nombre = nombre@evolucionado = false
enddef evoluciona
puts "Soy el Pokemon #{@nombre}"@evolucionado = true
endend
![Page 26: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/26.jpg)
Ejemplo algo mas ((real))
class Pokemonattr_reader :evolucionado, :nombredef initialize(nombre)
@nombre = nombre@evolucionado = false
enddef evoluciona
puts "Soy el Pokemon #{@nombre}"@evolucionado = true
endend
![Page 27: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/27.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 28: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/28.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 29: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/29.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 30: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/30.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 31: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/31.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 32: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/32.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 33: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/33.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 34: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/34.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 35: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/35.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 36: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/36.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 37: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/37.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 38: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/38.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 39: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/39.jpg)
Ejemplo algo mas ((real))
ruby> pika = Pokemon.new(’Pikachu’)=> #<Pokemon:0x4030d154 @evolucionado=false, ...>ruby> pika.evolucionado=> falseruby> pika.evolucionaSoy el Pokemon Pikachu=> trueruby> pika.evolucionado=> trueruby> pika.class=> Pokemonruby> pika.methods.grep(/evoluciona/)=> ["evoluciona", "evolucionado"]
![Page 40: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/40.jpg)
Bloques/iteradores
• ((Subrutinas anonimas)) como ((parametro))
• P.ej., para recorrer objetos
• [1, 2, 3, 4].each do |i|puts i
end
• "jander klander gronder".split(" ").each do |i|puts i =~/ander$/ ? "#{i} rulz" : "#{i} sobra"
end
• button.connect(PUSH EVENT) do |sender,sel,event|puts "Boton pulsado"
end
![Page 41: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/41.jpg)
Bloques/iteradores
• ((Subrutinas anonimas)) como ((parametro))
• P.ej., para recorrer objetos
• [1, 2, 3, 4].each do |i|puts i
end
• "jander klander gronder".split(" ").each do |i|puts i =~/ander$/ ? "#{i} rulz" : "#{i} sobra"
end
• button.connect(PUSH EVENT) do |sender,sel,event|puts "Boton pulsado"
end
![Page 42: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/42.jpg)
Bloques/iteradores
• ((Subrutinas anonimas)) como ((parametro))
• P.ej., para recorrer objetos
• [1, 2, 3, 4].each do |i|puts i
end
• "jander klander gronder".split(" ").each do |i|puts i =~/ander$/ ? "#{i} rulz" : "#{i} sobra"
end
• button.connect(PUSH EVENT) do |sender,sel,event|puts "Boton pulsado"
end
![Page 43: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/43.jpg)
Bloques/iteradores
• ((Subrutinas anonimas)) como ((parametro))
• P.ej., para recorrer objetos
• [1, 2, 3, 4].each do |i|puts i
end
• "jander klander gronder".split(" ").each do |i|puts i =~/ander$/ ? "#{i} rulz" : "#{i} sobra"
end
• button.connect(PUSH EVENT) do |sender,sel,event|puts "Boton pulsado"
end
![Page 44: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/44.jpg)
Bloques/iteradores
• ((Subrutinas anonimas)) como ((parametro))
• P.ej., para recorrer objetos
• [1, 2, 3, 4].each do |i|puts i
end
• "jander klander gronder".split(" ").each do |i|puts i =~/ander$/ ? "#{i} rulz" : "#{i} sobra"
end
• button.connect(PUSH EVENT) do |sender,sel,event|puts "Boton pulsado"
end
![Page 45: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/45.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 46: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/46.jpg)
Desarrollo web tradicional
• Separacion de conceptos
• Duplicacion de codigo
• Por separado, ((maduro)), pero no muy bien integrado
• MVC de moda ultimamente
• No hay casi nada preparado para la Web 2.0
![Page 47: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/47.jpg)
Desarrollo web tradicional
• Separacion de conceptos
• Duplicacion de codigo
• Por separado, ((maduro)), pero no muy bien integrado
• MVC de moda ultimamente
• No hay casi nada preparado para la Web 2.0
![Page 48: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/48.jpg)
Desarrollo web tradicional
• Separacion de conceptos
• Duplicacion de codigo
• Por separado, ((maduro)), pero no muy bien integrado
• MVC de moda ultimamente
• No hay casi nada preparado para la Web 2.0
![Page 49: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/49.jpg)
Desarrollo web tradicional
• Separacion de conceptos
• Duplicacion de codigo
• Por separado, ((maduro)), pero no muy bien integrado
• MVC de moda ultimamente
• No hay casi nada preparado para la Web 2.0
![Page 50: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/50.jpg)
Desarrollo web tradicional
• Separacion de conceptos
• Duplicacion de codigo
• Por separado, ((maduro)), pero no muy bien integrado
• MVC de moda ultimamente
• No hay casi nada preparado para la Web 2.0
![Page 51: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/51.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 52: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/52.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP
(me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas
→
• Un amigo le habıa nombrado Ruby y...
![Page 53: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/53.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP
(me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas
→
• Un amigo le habıa nombrado Ruby y...
![Page 54: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/54.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP
(me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas
→
• Un amigo le habıa nombrado Ruby y...
![Page 55: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/55.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP (me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas
→
• Un amigo le habıa nombrado Ruby y...
![Page 56: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/56.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP (me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas
→
• Un amigo le habıa nombrado Ruby y...
![Page 57: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/57.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP (me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas
→• Un amigo le habıa nombrado Ruby y...
![Page 58: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/58.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP (me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas →
• Un amigo le habıa nombrado Ruby y...
![Page 59: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/59.jpg)
Nacimiento de RoR
• David Heinemeier Hansson (Dinamarca)
• Esta loco
• Programaba en PHP (me estoy repitiendo)
• Intento escribir Rails en PHP...
• ...pero fracaso miserablemente
• Necesitaba algo mas →• Un amigo le habıa nombrado Ruby y...
![Page 60: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/60.jpg)
Los cinco pilares del Islam^WRails
• Productividad maxima
• Sentido estetico
• Herramientas mas o menos buenas...
• ...muy bien integradas (todo > partes)
• Simplicidad, DRY (Don’t Repeat Yourself)
• ¡Abajo la configuracion, arriba las convenciones!
![Page 61: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/61.jpg)
Los cinco pilares del Islam^WRails
• Productividad maxima
• Sentido estetico
• Herramientas mas o menos buenas...
• ...muy bien integradas (todo > partes)
• Simplicidad, DRY (Don’t Repeat Yourself)
• ¡Abajo la configuracion, arriba las convenciones!
![Page 62: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/62.jpg)
Los cinco pilares del Islam^WRails
• Productividad maxima
• Sentido estetico
• Herramientas mas o menos buenas...
• ...muy bien integradas (todo > partes)
• Simplicidad, DRY (Don’t Repeat Yourself)
• ¡Abajo la configuracion, arriba las convenciones!
![Page 63: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/63.jpg)
Los cinco pilares del Islam^WRails
• Productividad maxima
• Sentido estetico
• Herramientas mas o menos buenas...
• ...muy bien integradas (todo > partes)
• Simplicidad, DRY (Don’t Repeat Yourself)
• ¡Abajo la configuracion, arriba las convenciones!
![Page 64: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/64.jpg)
Los cinco pilares del Islam^WRails
• Productividad maxima
• Sentido estetico
• Herramientas mas o menos buenas...
• ...muy bien integradas (todo > partes)
• Simplicidad, DRY (Don’t Repeat Yourself)
• ¡Abajo la configuracion, arriba las convenciones!
![Page 65: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/65.jpg)
Los cinco pilares del Islam^WRails
• Productividad maxima
• Sentido estetico
• Herramientas mas o menos buenas...
• ...muy bien integradas (todo > partes)
• Simplicidad, DRY (Don’t Repeat Yourself)
• ¡Abajo la configuracion, arriba las convenciones!
![Page 66: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/66.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 67: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/67.jpg)
Modelo
• Para acceder a los datos
• Modulo: ActiveRecord
• Descubre automaticamente los campos...
• ...y la tabla (Alumno → alumnos)
• Se puede personalizar y anadir metodos
• Se crean con script/generate model alumno
![Page 68: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/68.jpg)
Modelo
• Para acceder a los datos
• Modulo: ActiveRecord
• Descubre automaticamente los campos...
• ...y la tabla (Alumno → alumnos)
• Se puede personalizar y anadir metodos
• Se crean con script/generate model alumno
![Page 69: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/69.jpg)
Modelo
• Para acceder a los datos
• Modulo: ActiveRecord
• Descubre automaticamente los campos...
• ...y la tabla (Alumno → alumnos)
• Se puede personalizar y anadir metodos
• Se crean con script/generate model alumno
![Page 70: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/70.jpg)
Modelo
• Para acceder a los datos
• Modulo: ActiveRecord
• Descubre automaticamente los campos...
• ...y la tabla (Alumno → alumnos)
• Se puede personalizar y anadir metodos
• Se crean con script/generate model alumno
![Page 71: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/71.jpg)
Modelo
• Para acceder a los datos
• Modulo: ActiveRecord
• Descubre automaticamente los campos...
• ...y la tabla (Alumno → alumnos)
• Se puede personalizar y anadir metodos
• Se crean con script/generate model alumno
![Page 72: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/72.jpg)
Modelo
• Para acceder a los datos
• Modulo: ActiveRecord
• Descubre automaticamente los campos...
• ...y la tabla (Alumno → alumnos)
• Se puede personalizar y anadir metodos
• Se crean con script/generate model alumno
![Page 73: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/73.jpg)
Ejemplo de modelo
class Alumno < ActiveRecord::Basehas_many :cursosdef es_socio
not num_socio.nil?end
end
![Page 74: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/74.jpg)
Ejemplo de modelo
class Alumno < ActiveRecord::Basehas_many :cursosdef es_socio
not num_socio.nil?end
end
Definicion base
![Page 75: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/75.jpg)
Ejemplo de modelo
class Alumno < ActiveRecord::Basehas_many :cursosdef es_socio
not num_socio.nil?end
end
Declaracion de relacion
![Page 76: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/76.jpg)
Ejemplo de modelo
class Alumno < ActiveRecord::Basehas_many :cursosdef es_socio
not num_socio.nil?end
end
Nuevo metodo
![Page 77: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/77.jpg)
Vista
• Para decidir el aspecto
• Modulo: Embedded Ruby, erb
• Ruby embebido en HTML
• Simple, potente
• HTML repetitivo, a funciones externas (helpers)
• Ficheros .rhtml en app/views/controlador
![Page 78: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/78.jpg)
Vista
• Para decidir el aspecto
• Modulo: Embedded Ruby, erb
• Ruby embebido en HTML
• Simple, potente
• HTML repetitivo, a funciones externas (helpers)
• Ficheros .rhtml en app/views/controlador
![Page 79: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/79.jpg)
Vista
• Para decidir el aspecto
• Modulo: Embedded Ruby, erb
• Ruby embebido en HTML
• Simple, potente
• HTML repetitivo, a funciones externas (helpers)
• Ficheros .rhtml en app/views/controlador
![Page 80: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/80.jpg)
Vista
• Para decidir el aspecto
• Modulo: Embedded Ruby, erb
• Ruby embebido en HTML
• Simple, potente
• HTML repetitivo, a funciones externas (helpers)
• Ficheros .rhtml en app/views/controlador
![Page 81: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/81.jpg)
Vista
• Para decidir el aspecto
• Modulo: Embedded Ruby, erb
• Ruby embebido en HTML
• Simple, potente
• HTML repetitivo, a funciones externas (helpers)
• Ficheros .rhtml en app/views/controlador
![Page 82: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/82.jpg)
Vista
• Para decidir el aspecto
• Modulo: Embedded Ruby, erb
• Ruby embebido en HTML
• Simple, potente
• HTML repetitivo, a funciones externas (helpers)
• Ficheros .rhtml en app/views/controlador
![Page 83: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/83.jpg)
Ejemplo de vista
<h1>A~nadir alumno del curso < %= @curso.titulo %></h1>< % Alumno.find_all(nil, ’nombre’).each do |a| %>
< %= radio_button(’alumno’, ’elegido’, a.id) %>< % end %>
![Page 84: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/84.jpg)
Ejemplo de vista
<h1>A~nadir alumno del curso < %= @curso.titulo %></h1>< % Alumno.find_all(nil, ’nombre’).each do |a| %>
< %= radio_button(’alumno’, ’elegido’, a.id) %>< % end %>
Imprimir el resultado de la expresion
![Page 85: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/85.jpg)
Ejemplo de vista
<h1>A~nadir alumno del curso < %= @curso.titulo %></h1>< % Alumno.find_all(nil, ’nombre’).each do |a| %>
< %= radio_button(’alumno’, ’elegido’, a.id) %>< % end %>
Ejecutar codigo Ruby, sin imprimir
![Page 86: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/86.jpg)
Ejemplo de vista
<h1>A~nadir alumno del curso < %= @curso.titulo %></h1>< % Alumno.find_all(nil, ’nombre’).each do |a| %>
< %= radio_button(’alumno’, ’elegido’, a.id) %>< % end %>
Helpers
![Page 87: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/87.jpg)
Controlador
• Para controlar las acciones
• Modulo: ActionPack
• ((Bisagra)) del MVC
• Clases de Ruby
• Un metodo, una accion
• ((Andamios)) (scaffold) para avanzar mas rapido
• Se crean con script/generate controlleralumno
![Page 88: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/88.jpg)
Controlador
• Para controlar las acciones
• Modulo: ActionPack
• ((Bisagra)) del MVC
• Clases de Ruby
• Un metodo, una accion
• ((Andamios)) (scaffold) para avanzar mas rapido
• Se crean con script/generate controlleralumno
![Page 89: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/89.jpg)
Controlador
• Para controlar las acciones
• Modulo: ActionPack
• ((Bisagra)) del MVC
• Clases de Ruby
• Un metodo, una accion
• ((Andamios)) (scaffold) para avanzar mas rapido
• Se crean con script/generate controlleralumno
![Page 90: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/90.jpg)
Controlador
• Para controlar las acciones
• Modulo: ActionPack
• ((Bisagra)) del MVC
• Clases de Ruby
• Un metodo, una accion
• ((Andamios)) (scaffold) para avanzar mas rapido
• Se crean con script/generate controlleralumno
![Page 91: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/91.jpg)
Controlador
• Para controlar las acciones
• Modulo: ActionPack
• ((Bisagra)) del MVC
• Clases de Ruby
• Un metodo, una accion
• ((Andamios)) (scaffold) para avanzar mas rapido
• Se crean con script/generate controlleralumno
![Page 92: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/92.jpg)
Controlador
• Para controlar las acciones
• Modulo: ActionPack
• ((Bisagra)) del MVC
• Clases de Ruby
• Un metodo, una accion
• ((Andamios)) (scaffold) para avanzar mas rapido
• Se crean con script/generate controlleralumno
![Page 93: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/93.jpg)
Controlador
• Para controlar las acciones
• Modulo: ActionPack
• ((Bisagra)) del MVC
• Clases de Ruby
• Un metodo, una accion
• ((Andamios)) (scaffold) para avanzar mas rapido
• Se crean con script/generate controlleralumno
![Page 94: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/94.jpg)
Ejemplo de controlador
class CursoController < ApplicationControllerscaffold :cursolayout ’base’def nueva_accion
render_text "Nueva accion"end
end
![Page 95: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/95.jpg)
Ejemplo de controlador
class CursoController < ApplicationControllerscaffold :cursolayout ’base’def nueva_accion
render_text "Nueva accion"end
end
Definicion base
![Page 96: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/96.jpg)
Ejemplo de controlador
class CursoController < ApplicationControllerscaffold :cursolayout ’base’def nueva_accion
render_text "Nueva accion"end
end
Crear andamio para el modelo ’curso’
![Page 97: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/97.jpg)
Ejemplo de controlador
class CursoController < ApplicationControllerscaffold :cursolayout ’base’def nueva_accion
render_text "Nueva accion"end
end
Declarar la plantilla
![Page 98: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/98.jpg)
Ejemplo de controlador
class CursoController < ApplicationControllerscaffold :cursolayout ’base’def nueva_accion
render_text "Nueva accion"end
end
Nueva accion
![Page 99: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/99.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 100: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/100.jpg)
Utilidades
• Todas en ./script/foo
• generate (genera codigo)
• server (servidor simple para desarrollo)
• console (consola interactiva)
• runner (ejecuta trozos de Ruby)
• breakpointer (engancha con puntos de ruptura)
![Page 101: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/101.jpg)
Utilidades
• Todas en ./script/foo
• generate (genera codigo)
• server (servidor simple para desarrollo)
• console (consola interactiva)
• runner (ejecuta trozos de Ruby)
• breakpointer (engancha con puntos de ruptura)
![Page 102: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/102.jpg)
Utilidades
• Todas en ./script/foo
• generate (genera codigo)
• server (servidor simple para desarrollo)
• console (consola interactiva)
• runner (ejecuta trozos de Ruby)
• breakpointer (engancha con puntos de ruptura)
![Page 103: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/103.jpg)
Utilidades
• Todas en ./script/foo
• generate (genera codigo)
• server (servidor simple para desarrollo)
• console (consola interactiva)
• runner (ejecuta trozos de Ruby)
• breakpointer (engancha con puntos de ruptura)
![Page 104: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/104.jpg)
Utilidades
• Todas en ./script/foo
• generate (genera codigo)
• server (servidor simple para desarrollo)
• console (consola interactiva)
• runner (ejecuta trozos de Ruby)
• breakpointer (engancha con puntos de ruptura)
![Page 105: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/105.jpg)
Utilidades
• Todas en ./script/foo
• generate (genera codigo)
• server (servidor simple para desarrollo)
• console (consola interactiva)
• runner (ejecuta trozos de Ruby)
• breakpointer (engancha con puntos de ruptura)
![Page 106: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/106.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 107: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/107.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 108: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/108.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 109: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/109.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 110: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/110.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 111: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/111.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 112: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/112.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 113: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/113.jpg)
Rakefile
• Una especie de Makefile...
• ...pero escrito en Ruby
• Viene un Rakefile de serie, con varios objetivos
• stats
• doc
• test
• test recent
• migrate
![Page 114: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/114.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 115: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/115.jpg)
Resumen de Rails
• Entorno de desarrollo web
• Escrito en Ruby (aprovechandolo)
• Muy potente y productivo
• Facil de aprender
![Page 116: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/116.jpg)
Resumen de Rails
• Entorno de desarrollo web
• Escrito en Ruby (aprovechandolo)
• Muy potente y productivo
• Facil de aprender
![Page 117: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/117.jpg)
Resumen de Rails
• Entorno de desarrollo web
• Escrito en Ruby (aprovechandolo)
• Muy potente y productivo
• Facil de aprender
![Page 118: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/118.jpg)
Resumen de Rails
• Entorno de desarrollo web
• Escrito en Ruby (aprovechandolo)
• Muy potente y productivo
• Facil de aprender
![Page 119: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/119.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 120: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/120.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 121: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/121.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 122: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/122.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 123: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/123.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 124: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/124.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 125: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/125.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 126: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/126.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 127: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/127.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 128: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/128.jpg)
¿Que nos dejamos atras?
• Componentes
• Servicios web
• Ajax
• Integracion con el correo
• Rutas
• Migraciones
• Configuracion
• Entornos (desarrollo, produccion, ...)
• Baterıas de pruebas
• ...
![Page 129: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/129.jpg)
Enlaces
• http://www.ruby.org.es
• http://www.rubyonrails.com
• http://api.rubyonrails.com
• http://www.ruby-lang.org
• http://www.demiurgo.org
• http://www.foton.es
• http://www.grupocpd.com
![Page 130: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/130.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 131: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/131.jpg)
Que vamos a hacer
• Una aplicacion simple de gestion de alumnos
• Hay alumnos, que pueden ser o no socios
• Hay cursos
• Hay reservas de los alumnos en los cursos
• Las reservas pueden estar pagadas o no
![Page 132: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/132.jpg)
Que vamos a hacer
• Una aplicacion simple de gestion de alumnos
• Hay alumnos, que pueden ser o no socios
• Hay cursos
• Hay reservas de los alumnos en los cursos
• Las reservas pueden estar pagadas o no
![Page 133: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/133.jpg)
Que vamos a hacer
• Una aplicacion simple de gestion de alumnos
• Hay alumnos, que pueden ser o no socios
• Hay cursos
• Hay reservas de los alumnos en los cursos
• Las reservas pueden estar pagadas o no
![Page 134: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/134.jpg)
Que vamos a hacer
• Una aplicacion simple de gestion de alumnos
• Hay alumnos, que pueden ser o no socios
• Hay cursos
• Hay reservas de los alumnos en los cursos
• Las reservas pueden estar pagadas o no
![Page 135: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/135.jpg)
Que vamos a hacer
• Una aplicacion simple de gestion de alumnos
• Hay alumnos, que pueden ser o no socios
• Hay cursos
• Hay reservas de los alumnos en los cursos
• Las reservas pueden estar pagadas o no
![Page 136: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/136.jpg)
La base de datos
• Muy sencilla, un par de tablas
• Convenciones de nombres de Rails
• Tenemos suerte con los nombres (idioma)
• cursos (varios campos de texto)
• alumnos (campos normales y num socio)
• alumnos cursos (relacion n a n con atributos: reservado ypagado)
![Page 137: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/137.jpg)
La base de datos
• Muy sencilla, un par de tablas
• Convenciones de nombres de Rails
• Tenemos suerte con los nombres (idioma)
• cursos (varios campos de texto)
• alumnos (campos normales y num socio)
• alumnos cursos (relacion n a n con atributos: reservado ypagado)
![Page 138: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/138.jpg)
La base de datos
• Muy sencilla, un par de tablas
• Convenciones de nombres de Rails
• Tenemos suerte con los nombres (idioma)
• cursos (varios campos de texto)
• alumnos (campos normales y num socio)
• alumnos cursos (relacion n a n con atributos: reservado ypagado)
![Page 139: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/139.jpg)
La base de datos
• Muy sencilla, un par de tablas
• Convenciones de nombres de Rails
• Tenemos suerte con los nombres (idioma)
• cursos (varios campos de texto)
• alumnos (campos normales y num socio)
• alumnos cursos (relacion n a n con atributos: reservado ypagado)
![Page 140: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/140.jpg)
La base de datos
• Muy sencilla, un par de tablas
• Convenciones de nombres de Rails
• Tenemos suerte con los nombres (idioma)
• cursos (varios campos de texto)
• alumnos (campos normales y num socio)
• alumnos cursos (relacion n a n con atributos: reservado ypagado)
![Page 141: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/141.jpg)
La base de datos
• Muy sencilla, un par de tablas
• Convenciones de nombres de Rails
• Tenemos suerte con los nombres (idioma)
• cursos (varios campos de texto)
• alumnos (campos normales y num socio)
• alumnos cursos (relacion n a n con atributos: reservado ypagado)
![Page 142: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/142.jpg)
Indice
1 IntroduccionAntes de nada...Un poco de RubyEstado actual del desarrollo web
2 Ruby on RailsRoR is in tha house!MVCOtras comodidadesConclusion
3 DemoPreparacionEjecucion
![Page 143: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/143.jpg)
(1) Esqueleto inicial
• Crear el esqueleto con rails
• Crear la base de datos
• Volcar la estructura de las tablas
• Configurar la base de datos
• Creamos un controlador foo de prueba
• Comprobamos que todo funciona (./script/server)
![Page 144: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/144.jpg)
(1) Esqueleto inicial
• Crear el esqueleto con rails
• Crear la base de datos
• Volcar la estructura de las tablas
• Configurar la base de datos
• Creamos un controlador foo de prueba
• Comprobamos que todo funciona (./script/server)
![Page 145: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/145.jpg)
(1) Esqueleto inicial
• Crear el esqueleto con rails
• Crear la base de datos
• Volcar la estructura de las tablas
• Configurar la base de datos
• Creamos un controlador foo de prueba
• Comprobamos que todo funciona (./script/server)
![Page 146: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/146.jpg)
(1) Esqueleto inicial
• Crear el esqueleto con rails
• Crear la base de datos
• Volcar la estructura de las tablas
• Configurar la base de datos
• Creamos un controlador foo de prueba
• Comprobamos que todo funciona (./script/server)
![Page 147: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/147.jpg)
(1) Esqueleto inicial
• Crear el esqueleto con rails
• Crear la base de datos
• Volcar la estructura de las tablas
• Configurar la base de datos
• Creamos un controlador foo de prueba
• Comprobamos que todo funciona (./script/server)
![Page 148: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/148.jpg)
(1) Esqueleto inicial
• Crear el esqueleto con rails
• Crear la base de datos
• Volcar la estructura de las tablas
• Configurar la base de datos
• Creamos un controlador foo de prueba
• Comprobamos que todo funciona (./script/server)
![Page 149: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/149.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 150: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/150.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 151: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/151.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 152: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/152.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 153: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/153.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 154: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/154.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 155: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/155.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 156: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/156.jpg)
(2) Crear los modelos
• Creamos un modelo de prueba (Alumno)
• Jugamos con el, con console
• Vemos la base de datos
• Creamos los ((andamios)) de Alumno y Curso
• Establecemos el controlador predeterminado
• Probamos un poco, arreglamos los mensajes Flash
• Declaramos las dependencias has and belongs to many yvalidamos el aforo
• Calculamos automaticamente fecha alta en Alumno
![Page 157: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/157.jpg)
(3) Aspecto de los cursos
• En los cursos solo mostramos tıtulo, fechas, precio y aforo
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Usamos plantillas ((parciales))
• Arreglamos las fechas (helper)
• Integramos la creacion de cursos
• Enlazamos con la gestion de alumnos
• Anadimos vistosidad al mensaje del Flash
![Page 158: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/158.jpg)
(3) Aspecto de los cursos
• En los cursos solo mostramos tıtulo, fechas, precio y aforo
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Usamos plantillas ((parciales))
• Arreglamos las fechas (helper)
• Integramos la creacion de cursos
• Enlazamos con la gestion de alumnos
• Anadimos vistosidad al mensaje del Flash
![Page 159: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/159.jpg)
(3) Aspecto de los cursos
• En los cursos solo mostramos tıtulo, fechas, precio y aforo
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Usamos plantillas ((parciales))
• Arreglamos las fechas (helper)
• Integramos la creacion de cursos
• Enlazamos con la gestion de alumnos
• Anadimos vistosidad al mensaje del Flash
![Page 160: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/160.jpg)
(3) Aspecto de los cursos
• En los cursos solo mostramos tıtulo, fechas, precio y aforo
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Usamos plantillas ((parciales))
• Arreglamos las fechas (helper)
• Integramos la creacion de cursos
• Enlazamos con la gestion de alumnos
• Anadimos vistosidad al mensaje del Flash
![Page 161: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/161.jpg)
(3) Aspecto de los cursos
• En los cursos solo mostramos tıtulo, fechas, precio y aforo
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Usamos plantillas ((parciales))
• Arreglamos las fechas (helper)
• Integramos la creacion de cursos
• Enlazamos con la gestion de alumnos
• Anadimos vistosidad al mensaje del Flash
![Page 162: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/162.jpg)
(3) Aspecto de los cursos
• En los cursos solo mostramos tıtulo, fechas, precio y aforo
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Usamos plantillas ((parciales))
• Arreglamos las fechas (helper)
• Integramos la creacion de cursos
• Enlazamos con la gestion de alumnos
• Anadimos vistosidad al mensaje del Flash
![Page 163: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/163.jpg)
(3) Aspecto de los cursos
• En los cursos solo mostramos tıtulo, fechas, precio y aforo
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Usamos plantillas ((parciales))
• Arreglamos las fechas (helper)
• Integramos la creacion de cursos
• Enlazamos con la gestion de alumnos
• Anadimos vistosidad al mensaje del Flash
![Page 164: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/164.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 165: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/165.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 166: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/166.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 167: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/167.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 168: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/168.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 169: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/169.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 170: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/170.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 171: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/171.jpg)
(4) Aspecto de los alumnos
• En los alumnos solo mostramos nombre, NIF, fecha alta y no
socio
• Condensamos en una las columnas de acciones, quitamos((Destroy))
• Arreglamos la fecha (helper)
• Arreglamos el no de socio (N/A)
• Integramos la creacion de alumnos
• Enlazamos con la gestion de cursos
• Ordenamos bien, por nombre
• De paso, arreglamos la creacion (rellenar fecha alta ynum socio)
![Page 172: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/172.jpg)
(5) Asociacion alumnos-cursos
• Crear accion nuevo alumno en el controlador de cursos
• Crear accion alta alumno
• Mostrar mejor el aforo (disponible/total)
• Modificar la lista de cursos para anadir la nueva accion
• Modificar la vista de los cursos, para mostrar los alumnos
![Page 173: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/173.jpg)
(5) Asociacion alumnos-cursos
• Crear accion nuevo alumno en el controlador de cursos
• Crear accion alta alumno
• Mostrar mejor el aforo (disponible/total)
• Modificar la lista de cursos para anadir la nueva accion
• Modificar la vista de los cursos, para mostrar los alumnos
![Page 174: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/174.jpg)
(5) Asociacion alumnos-cursos
• Crear accion nuevo alumno en el controlador de cursos
• Crear accion alta alumno
• Mostrar mejor el aforo (disponible/total)
• Modificar la lista de cursos para anadir la nueva accion
• Modificar la vista de los cursos, para mostrar los alumnos
![Page 175: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/175.jpg)
(5) Asociacion alumnos-cursos
• Crear accion nuevo alumno en el controlador de cursos
• Crear accion alta alumno
• Mostrar mejor el aforo (disponible/total)
• Modificar la lista de cursos para anadir la nueva accion
• Modificar la vista de los cursos, para mostrar los alumnos
![Page 176: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/176.jpg)
(5) Asociacion alumnos-cursos
• Crear accion nuevo alumno en el controlador de cursos
• Crear accion alta alumno
• Mostrar mejor el aforo (disponible/total)
• Modificar la lista de cursos para anadir la nueva accion
• Modificar la vista de los cursos, para mostrar los alumnos
![Page 177: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/177.jpg)
¡Ya esta!
![Page 178: Esteban Manchado Vel´azquez zoso@grupocpdlibroesoterico.com/biblioteca/islam/Ror.pdf · 2020. 9. 10. · • Basado en l´ıneas (no son necesarios ; y similares) • Aspecto limpio,](https://reader035.vdocuments.co/reader035/viewer/2022081601/60f80927a9c2754cdf363eb7/html5/thumbnails/178.jpg)
Ruby on Rails: la revolucion del desarrollo web
Esteban Manchado [email protected]
15 de octubre de 2005