sinatra的基本使用

安装:
1. 安装好ruby后, gem install sinatra 把它给装好
它像ROR那里,默认是使用webrick的,
建议把高性能的thin给装上, gem install thin
它里面有eventmachine,可以支持极高的并发。

2. 刷新看代码的效果,安装shotgun
gem install shotgun
不过,它默认的端口跟webrick是不一样的。
使用: shotgun myapp.eb

基本使用:
1. 非常简洁和高效的路由
get, post, put, delete实现为类方法
路由作为它们的每一个参数,有相应的方法找解析路由
它主要的作用是把URL请求转到相应的方法去

最后作为返回値的会被输出。

2. 模板也是非常的简洁
可以选择的模板是非常多的,也可以同时使用多种模板,只要加载进来就可以了。
默认:
erb :index
erb :"hello/world"

它会找到views下面的,index.erb, hello/world.erb

关于模板使用控制器中的变量:
控制器和模板是使用同一个类的,因此它们的内部变量是可以共享的,只需要在发送或接受的变量前面加上@就可以了。

还可以指定全局的layout, 默认是views下面的layout, 也可以在渲染时指定
erb :"hello/world", :layout => :post

erb那的格式跟ROR那边是一样的。同时,在模板中使用控制器中的变量也是跟ROR一样的。

3. 静态文件的加载和指定其位置

set :public_folder, File.dirname(__FILE__) + '/public_folder'
set :views, File.dirname(__FILE__) + '/views'

到这里就可以实现MVC里面的 VC 了。

https://github.com/shinvdu/ruby-sinatra