- Отображение формы клиенту, GET
- Клиент заполняет форму и отправляет запрос, POST
- сервер обрабатывает параметры с формы и выводит результат в другой странице. Ждёт "дальнейших указаний" от пользователя (опционально).
1. Установка минималистичного фреймворка
SinatraRbgem install sinatra
2. Файл Gemfile в корне проекта
source 'https://rubygems.org'
gem 'rack'
gem 'sinatra'
#gem 'haml'
#gem 'sqlite3'
и выполняем в командной строке команду
bundle install
(gem bundler - управление зависимостями gem - должен быть заранее установлен)
3. Файл config.ru в корне проекта
# config.ru (run with rackup)
require 'rubygems'
require 'bundler/setup'
Bundler.require
require './myapp.rb'
run Sinatra::Application
4. Файл myapp.rb в корне проекта
require 'sinatra'
get '/' do
erb :index # Отобразить форму по пути views/index.erb. Erb - это код HTML с вкраплениями кода на Ruby
end
post '/do_it'
"Thank you, #{params['name']}!"
end
5. views/index.erb
<form action="/do_it" method="post">
<div>
<label for="name">Your Name:</label><br>
<input type="text" name="name"><br>
</div>
<button type="submit">Submit</button>
</form>
Дополнительно
Accessing the Request Object
Для работы с СУБД есть ещё простой гем
DataMapper