sinatra-block-html¶ ↑
こんな感じのレイアウトとビューを作って
views/layout.bhtml
html { tag(:head) { title.text @title } tag(:body) { self << yield } }
views/index.bhtml
h1.text @title p.text @contents
Sinatra の DSL で出力
require 'rubygems' require 'sinatra' require 'sinatra-block-html' get '/' do @title = 'Hello World!' @contents = 'こんにちは!' bhtml :index end
Sinatra::Base で出力
require 'rubygems' require 'sinatra' require 'sinatra/base' require 'sinatra-block-html' class App < Sinatra::Base get '/' do @title = 'Hello World!' @contents = 'こんにちは!' bhtml :index end end use App
すると、こんな HTML が出力されます
<html><head><title>Hello World!</title></head><body><h1>Hello World!</h1><p>こんにちは!</p></body></html>