Ruby网页没有任何框架从头开始

时间:2012-12-11 12:29:42

标签: ruby rack

我试图从头开始学习ruby for web。我知道PHP和我在ruby中的新东西。我不想在开始时使用任何框架。尝试创建简单的2-3页练习。我搜索了很多,但没有任何例子来创建ruby和机架的网页,并在任何浏览器中运行它。

如果您有任何网址或在线资料,请与大家分享。

3 个答案:

答案 0 :(得分:4)

在Ruby中编写一个简单的CGI很容易,但是,解释了如何超出Stack Overflow的范围。

首先,阅读维基百科的Common Gateway Interface文章,这样您就可以了解CGI必须返回的内容。挑选Perl示例;你应该能够很容易地弄清楚发生了什么。阅读文章并比较它所代表的内容与代码示例的作用。

接下来,查看Ruby的CGI模块,因为它将帮助您解析传入的表单信息,并对URL和HTML进行编码/解码。查看环境变量表,您将看到维基百科文章中提到的相同内容。接下来,请注意params()方法,即访问表单变量的方法。通过阅读“编写输出”和“生成HTML”部分,并在示例中进行说明。你应该在路上。

完成后,您应该看看Sinatra宝石。它是一个非常好用,易于使用的框架,非常适合一般的Web使用,并且在了解了CGI如何工作之后,您将处于一个欣赏Sinatra为您做的事情的好地方。另外,我强烈建议在Sinatra中使用HAML。它是一种用于生成网页的简短语言,类似于ERB,但不那么冗长。

您会发现PHP已经使您无法使用CGI编写“普通”Web应用程序所需的大量知识。如果您已经知道这些内容,那就没关系,但是如果您从未完成过较低级别的代码,或者尝试使用不同的语言,那就太糟糕了,因为知道CGI层提供了理解整个HTTPD堆栈所需的大量知识。一旦你了解了CGI层,像Sinatra,Rails,Django,Mojolicious以及其他所有框架的东西突然变得更有意义,你就会知道何时利用它们或者自己动手。而且,PHP在HTTP服务器中的位置也会更加清晰,让您可以更好地选择适合当前工作的工具。

答案 1 :(得分:1)

答案 2 :(得分:1)

查看Ben Scofield在RubyConf 2008上的演讲 - Building my own Web Framework应该让您了解在不使用任何框架的情况下从头开始使用ruby构建Web应用程序所涉及的内容。

上一个问题的答案也应该有用:Complete web apps in Ruby without using any frameworks - how difficult? Pitfalls?