2011-04-03 150 views
1

是否有一个Ruby for CGI框架提供与Ruby on Rails(mvc)类似的功能?CGI编程+红宝石

另外,应用程序使用的服务器不支持FCGI,只有普通的旧CGI。

+0

在Rails的基础上构建了许多框架。例如尝试Sinatra。 Rails有什么问题? – Zepplock 2011-04-03 05:15:30

+0

@Zepplock我认为你的意思是“建立在Ruby之上”。 Sinatra与Rails是分开的。 – ghoppe 2011-04-03 05:25:53

+0

是的,我的不好。当然Ruby。 – Zepplock 2011-04-03 05:32:39

回答

2

Ruby带有一个CGI模块,但它根本不是MVC。它可以很容易地从传递给应用程序的HTTP请求中提取参数,编码和解码查询参数等。它依靠Web服务器处理将请求路由到正确的页面,所以MVC和一个CGI。

Ruby还有其他的MVC。 Sinatra非常容易使用,并且Padrino建立在Sinatra上,将它放在Sinatra和Rails之间。我喜欢在工作中使用Sinatra,因为它对于快速原型设计非常有用,而且内部负载远不及我们在面向互联网的应用中获得的效果。

就不支持FCGI的服务器而言,MVC并不在意。将其服务器放在不同的端口上,然后在想要与Sinatra交谈时引用该端口。例如,如果您告诉Sinatra使用8088,则Sinatra服务页面的URL将如下所示:http://host.com:8808/url/path/to/object。在Web服务器上加载基于Sinatra的应用程序并启动它。它将与普通的Web服务器同时运行。

+0

但Sinatra或Padrino是否以CGI的形式运行?我还没有真正看到任何涉及Sinatra的CGI示例。 – hiobs 2011-04-03 05:33:28

+0

不幸的是,我无权开放任何额外的端口:(。 – hiobs 2011-04-03 05:34:51

+1

@mu谢谢澄清“MVC”的真正含义......看起来像有些人倾向于误解它一点点 – hiobs 2011-04-03 07:28:55