Hello world с помощью Ruby, Sinatra и Haml
Sinatra является легковесным фреймворком на Ruby, позволяет быстро и легко разрабатывать небольшие web-приложения. В основе фреймворка лежит DSL для простой разработки, что позволяет не отвлекаться на разбор параметров и обработку шаблонов.
Для начала нужны Ruby и Rubygems. Затем необходимо установить Sinatra:
В любимом текстовом редакторе (Vim, Emacs, TextMate и т.п.) создаем в новой директории файл app.rb, являющийся web-приложением на Sinatra:
require 'sinatra'
get '/' do
'Hello world!'
end
Запускаем приложение командой:
Теперь можно открыть в браузере http://localhost:4567/ и убедиться, что все работает.
Усложним немного пример переместив вывод "Hello world!" в haml шаблон. Для этого устанавливаем Haml:
Создаем директорию views и помещаем туда файлы layout.haml и index.haml:
layout.haml
%html
%head
%meta{:'http-equiv' => 'Content-Type', :content => 'text/html; charset=UTF-8'}
%body
= yield
С помощью = yield в layout вставляется результат обработки текущего шаблона. Более подробную информацию о синтаксисе Haml можно узнать в официальном учебнике по Haml.
index.haml
Чтобы приложение начало использовать только что созданные шаблоны, необходимо в get '/' указать haml :index и добавить require 'haml' в начало app.rb.
Также можно задать параметры по-умолчанию для haml с помощью set :haml,
например, задав формат вывода HTML5 и использование двойных кавычек в качестве обертки для атрибутов тегов:
Окончательный вариант app.rb:
require 'sinatra'
require 'haml'
set :haml, {:format => :html5, :attr_wrapper => '"'}
get '/' do
haml :index
end
Related posts:
Дельная статья, синатра оч понравилась
homakov
5 Янв 10 at 18:08
[...] запуска приложения из предыдущего поста про Sinatra необходим следующий Rackup файл config.ru: require 'app' run [...]
Запуск web-приложения на Sinatra с Phusion Passenger | lest, just lest
17 Янв 10 at 21:06