Para instalar Sinatra:
$ gem install sinatra
Si estás utilizando Bundler incluye la gema en el Gemfile
:
gem "sinatra"
Después debes ejecutar:
$ bundle install
Crea un archivo app.rb
(o como lo quieras nombrar) con el siguiente código:
require 'sinatra'get '/' do'Hello world!'end
Y ejecútalo con:
$ ruby myapp.rb
Abre tu navegador en http://localhost:4567
get '/' doerb :indexend
La línea erb :index
renderiza el archivo views/index.erb
. Crea ese archivo con el siguiente contenido:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Hola Sinatra</title></head><body><h1>Mi primera aplicación Web con Sinatra!</h1></body></html>
Podemos mezclar código Ruby en el HTML utilizando <%
y %>
:
...<% 100.times do %><h1>Mi primera aplicación Web con Sinatra!</h1><% end %>...
Puedes utilizar un layout para no tener que repetir el mismo código en todos los archivos ERB. Crea un archivo views/layout.erb
con el siguiente contenido:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Hola Sinatra</title></head><body><%= yield %></body></html>
Ahora modifica views/index.erb
para que solo contenga lo que va dentro de <body>
:
<% 100.times do %><h1>Mi primera aplicación Web con Sinatra!</h1><% end %>
Cuando defines una variable de instancia en la ruta, esa variable va a estar disponible en la vista. Por ejemplo:
get '/' do@name = "Pedro"erb :indexend
Y ahora podemos utilizar la variable @name
en la vista:
<h1>Hola <%= @nombre %></h1>
Para imprimir información en pantalla desde el código Ruby utilizamos el igual cuando abrimos la etiqueta <%=
y %>
.
Atención: Si omites el =
no va a aparecer nada en pantalla.