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 '/' do
erb :index
end
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 :index
end
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.