app.rb
require "cuba"
!
Cuba.define do
on("bienvenido") do
res.write("Hola Ruby Fun Day!")
end
end
Slide 15
Slide 15 text
config.ru
require "./app"
!
run(Cuba)
Slide 16
Slide 16 text
$ terminal
rackup config.ru
Slide 17
Slide 17 text
http://localhost:9292/bienvenido
Slide 18
Slide 18 text
app.rb
require "cuba"
!
Cuba.define do
on("bienvenido") do
res.write("Hola Ruby Fun Day!")
end
end
Slide 19
Slide 19 text
app.rb
require "cuba"
!
Cuba.define do
on("bienvenido") do
res.write("Hola Ruby Fun Day!")
end
end
Slide 20
Slide 20 text
app.rb
require "cuba"
!
Cuba.define do
on("bienvenido") do
res.write("Hola Ruby Fun Day!")
end
end
Slide 21
Slide 21 text
Qué pasa si …
• Ingresas a una ruta diferente a “/bienvenido”,
por ejemplo: “/talks”.
• Agrega una condición (`on`) si la ruta “/talks”
no existe y retorna el siguiente mensaje:
“Muy pronto podrás ver las charlas aquí”.
models/talk.rb
class Talk < Ohm::Model
attribute :title
attribute :description
end
Slide 44
Slide 44 text
Añadiendo el modelo a
la aplicación
Slide 45
Slide 45 text
app.rb
require "mote/render"
require "ohm"
!
Dir["./models/**/*.rb"].each do |f|
require(f)
end
!
Cuba.plugin(Mote::Render)
Slide 46
Slide 46 text
$ terminal
irb -r ./app
Slide 47
Slide 47 text
Qué pasa si …
• Pruebo los métodos: `Talk.create()`, `Talk.[]`,
`Talk.all`, `Talk.update`, etc … en la consola
de Ruby.
Slide 48
Slide 48 text
http://localhost:9292/talks
Slide 49
Slide 49 text
views/talks.mote
New talk
!
Slide 50
Slide 50 text
Métodos HTTP:
GET y POST
Slide 51
Slide 51 text
app.rb
!
Cuba.define do
on("talks") do
on(get) do
render("talks")
end
!
on(post) do
# ...
end
end
end
Slide 52
Slide 52 text
Qué pasa si …
• Imprime un mensaje con `res.write()` cuando
el método post.
Slide 53
Slide 53 text
Atributos del Formulario
Slide 54
Slide 54 text
views/talks.mote
New talk
!
Slide 55
Slide 55 text
Capturas
Slide 56
Slide 56 text
app.rb
Cuba.define do
on("talks") do
on(get) do
render("talks")
end
!
on(post, param("talk")) do |params|
# ...
end
end
end
Slide 57
Slide 57 text
Qué pasa si …
• Imprime un mensaje con `res.write()` con el
valor de `params`.
Slide 58
Slide 58 text
Crear registros
Slide 59
Slide 59 text
app.rb
!
Cuba.define do
on("talks") do
on(get) do
render("talks")
end
!
on(post, param("talk")) do |params|
talk = Talk.create(params)
!
res.redirect("/tasks")
end
end
end