原文URL:http://www.rubycc.com/bbs/topic_detail/86
1.基础代码app.rb
require 'rubygems'
require 'sinatra/base' class App < Sinatra::Base
get '/' do
"Hello, World"
end
end
注: ruby版本小于1.9, 必须在第一行加 require 'rubygems'
看清楚第二行 require 'sinatra/base'
这是一种基于类的router定义方式。
2.URL 参数
下面的代码使用haml模板,安装方法:gem install haml
# encoding: utf-8
require 'rubygems'
require 'sinatra/base' require 'haml' class App < Sinatra::Base
enable :inline_templates
get '/' do
@title = "Top"
haml "My Way"
end get '/name/:name' do
@name = params[:name]
@title = "Song for #{@name}"
haml "#{@name}'s Way"
end
end App.run! __END__ @@ layout
!!! 5
%html
%head
%title= @title
%body
%h1= @title
%div= yield
这是内联模板的一种用法。其中的代码: enable :inline_templates允许了内联模板的功能。
定义的@title,可以在模板中用“@title”的方式引用。
定义的router '/name/:name',可以用params[:name]获取URL中的参数。
log的功能可以追加。只要在刚才的“enable :inline_templates”下方追加一行即可。
enable :logging
后面的一连串功能,我小白,还不知道有什么用,所以先不写下去了