Sinatra_01

宋洲
2023-12-01

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 2 - 在cmd中输入 ruby 01.rb


step 3 - 在浏览器地址栏中输入 http://localhost:4567/


此时可以看到在浏览器中出现的Hello, world!


例2:改进例1

#02.rb
require 'rubygems'
require 'sinatra'

get '/hello/:name' do
  "Hello #{params[:name]}!"
end

其他步骤如例1,在浏览器中如果我们输入的地址为  http://localhost:4567/hello/vivian  出现的结果就是Hello, vivian!

也就是说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语句是一定要加的。

 类似资料:

相关阅读

相关文章

相关问答