lest, just lest

Заметки о web-разработке, администрировании Linux и настройке Mac OS X

Hello world с помощью Ruby, Sinatra и Haml

2 комментариев

Sinatra является легковесным фреймворком на Ruby, позволяет быстро и легко разрабатывать небольшие web-приложения. В основе фреймворка лежит DSL для простой разработки, что позволяет не отвлекаться на разбор параметров и обработку шаблонов.

Для начала нужны Ruby и Rubygems. Затем необходимо установить Sinatra:

gem install sinatra

В любимом текстовом редакторе (Vim, Emacs, TextMate и т.п.) создаем в новой директории файл app.rb, являющийся web-приложением на Sinatra:

require 'rubygems'
require 'sinatra'

get '/' do
  'Hello world!'
end

Запускаем приложение командой:

ruby app.rb

Теперь можно открыть в браузере http://localhost:4567/ и убедиться, что все работает.

Усложним немного пример переместив вывод "Hello world!" в haml шаблон. Для этого устанавливаем Haml:

gem install 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

Hello world!

Чтобы приложение начало использовать только что созданные шаблоны, необходимо в get '/' указать haml :index и добавить require 'haml' в начало app.rb.

Также можно задать параметры по-умолчанию для haml с помощью set :haml, например, задав формат вывода HTML5 и использование двойных кавычек в качестве обертки для атрибутов тегов:

set :haml, {:format => :html5, :attr_wrapper => '"'}

Окончательный вариант app.rb:

require 'rubygems'
require 'sinatra'
require 'haml'

set :haml, {:format => :html5, :attr_wrapper => '"'}

get '/' do
  haml :index
end

Related posts:

  1. Sinatra и DataMapper: пример сервиса сокращения ссылок
  2. Запуск web-приложения на Sinatra с Phusion Passenger
  3. Использование Sinatra внутри Rails Metal
  4. Cron и Ruby: использование Whenever
  5. CKEditor в Ruby on Rails c загрузкой файлов через SWFUpload

Автор: lest

Январь 4, 2010 в 20:58

Опубликовано в ruby

Метки: , , ,

2 Responses to 'Hello world с помощью Ruby, Sinatra и Haml'

Subscribe to comments with RSS or TrackBack to 'Hello world с помощью Ruby, Sinatra и Haml'.

  1. Дельная статья, синатра оч понравилась

    homakov

    5 Янв 10 at 18:08

  2. [...] запуска приложения из предыдущего поста про Sinatra необходим следующий Rackup файл config.ru: require 'app' run [...]

Leave a Reply