[vs. rails] sinatra等rails替代品和rails相比的几个特点

花花公子 2009-02-26
"lagom" just the right amount

Fewer classes, less inheritance

controller object mapping & routes vs. URLs---Dont's fear the URLs

Exposed Simplicity instead of hidden complexity

Small things, loosely joined, written fast


花花公子 2009-02-26
最后三条是我喜欢sinatra胜过rails的原因,最理想的就是多个sinatra程序,绑在一起是个网站,但是分开运行也不会有问题。
robbin 2009-02-27
花花公子 写道
最后三条是我喜欢sinatra胜过rails的原因,最理想的就是多个sinatra程序,绑在一起是个网站,但是分开运行也不会有问题。


这个和框架没有关系,是通过web server的配置来实现的,JavaEye现在的代码在本地开发环境就是合在一起,部署到服务器就被分开发布。
花花公子 2009-02-27
robbin 写道
花花公子 写道
最后三条是我喜欢sinatra胜过rails的原因,最理想的就是多个sinatra程序,绑在一起是个网站,但是分开运行也不会有问题。


这个和框架没有关系,是通过web server的配置来实现的,JavaEye现在的代码在本地开发环境就是合在一起,部署到服务器就被分开发布。


其实rails和sinatra等基于rack的web框架最大的区别就是rails把map和controller人为的区分开来。在sinatra中,路由是在controller里面指定的,但是rails中即使routes.rb一行不写,管理和分发map也是需要专门模块来处理的。这也就是rails中会有 link_to :controller => ..., link_to @model工作的背后支持。

当初rails宣称这个设计是为了兼容Controller和路由不匹配的情况,但是现实生活中很少出现。所以link_to :controller => 'a', :action => 'b'的这种写法最好还是改成 link_to '/a/b'。这样路由模块的意义就不大了。
funseason 2009-09-15
如何快速部署啊?我想要rails那种方便的方式,降低部署复杂度啊
花花公子 2009-09-15
funseason 写道
如何快速部署啊?我想要rails那种方便的方式,降低部署复杂度啊


如果你用passenger,rack的部署方式和rails是一样的。
Global site tag (gtag.js) - Google Analytics