Primeros pasos con Sinatra
Para instalar Sinatra:
1
$ gem install sinatra
Copied!
Si estás utilizando Bundler incluye la gema en el Gemfile:
1
gem "sinatra"
Copied!
Después debes ejecutar:
1
$ bundle install
Copied!
Crea un archivo app.rb (o como lo quieras nombrar) con el siguiente código:
1
require 'sinatra'
2
3
get '/' do
4
'Hello world!'
5
end
Copied!
Y ejecútalo con:
1
$ ruby myapp.rb
Copied!
Abre tu navegador en http://localhost:4567

Utilizando vistas

1
get '/' do
2
erb :index
3
end
Copied!
La línea erb :index renderiza el archivo views/index.erb. Crea ese archivo con el siguiente contenido:
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
<meta charset="UTF-8">
5
<title>Hola Sinatra</title>
6
</head>
7
<body>
8
<h1>Mi primera aplicación Web con Sinatra!</h1>
9
</body>
10
</html>
Copied!
Podemos mezclar código Ruby en el HTML utilizando <% y %>:
1
...
2
<% 100.times do %>
3
<h1>Mi primera aplicación Web con Sinatra!</h1>
4
<% end %>
5
...
Copied!

Utilizando templates

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:
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
<meta charset="UTF-8">
5
<title>Hola Sinatra</title>
6
</head>
7
<body>
8
<%= yield %>
9
</body>
10
</html>
Copied!
Ahora modifica views/index.erb para que solo contenga lo que va dentro de <body>:
1
<% 100.times do %>
2
<h1>Mi primera aplicación Web con Sinatra!</h1>
3
<% end %>
Copied!

Pasando información del controlador a la vista

Cuando defines una variable de instancia en la ruta, esa variable va a estar disponible en la vista. Por ejemplo:
1
get '/' do
2
@name = "Pedro"
3
erb :index
4
end
Copied!
Y ahora podemos utilizar la variable @name en la vista:
1
<h1>Hola <%= @nombre %></h1>
Copied!
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.
Last modified 3yr ago