1.安装ruby【注意某些比较旧的ruby版本的gem可以无法更新】
2.安装sinatra,在cmd中输入
gem install sinatra
ps:如果发现不行,可以考虑尝试其他ruby版本
例1:
step 1 - 编写一个ruby文件
# 01.rb
require 'rubygems'
require 'sinatra'
get '/' do
'Hello, world!'
end
step 3 - 在浏览器地址栏中输入 http://localhost:4567/
此时可以看到在浏览器中出现的Hello, world!
例2:改进例1
#02.rb
require 'rubygems'
require 'sinatra'
get '/hello/:name' do
"Hello #{params[:name]}!"
end
也就是说http://localhost:4567/hello/any name,这个就是用户的请求的某个页面,出现的结果为 Hello, any name!
目前我的理解是sinatra是基于URL的一个处理,对用户的某个URL请求,有不同的action(包括get、post、delete等)
例3:改进例2
# 03.rb
require 'rubygems'
require 'sinatra'
get '/' do
erb :hi
end
get '/hello/:name' do
@name = params[:name]
erb :hello
end
__END__
@@ layout
<html>
<body>
<%= yield %>
</body>
</html>
@@ hello
<h3>Hello <%= @name %>!</h3>
@@ hi
<h3>hi you!</h3>
我们还可以在ruby的文件中添加一些html的代码,erb :hello调用的就是的hello方法,输出 Hello + name; 同理,erb :hi调用的就是hi方法,输出为 hi you!
layout方法貌似是必须要有的,yield语句是一定要加的。