我想从头开始学习ruby for web。我知道php,我是ruby新手。一开始我不想使用任何框架。尝试创建简单的2-3页练习。我搜索了很多,但是没有任何例子可以从ruby和racks创建网页并在任何浏览器中运行。
如果你有任何网址或在线资料,请大家分享。

最佳答案

然而,用ruby编写一个简单的cgi是很容易的,它解释了如何超出堆栈溢出的范围。
首先,请阅读wikipedia的Common Gateway Interface文章,这样您就对cgi必须返回的内容有了基本的了解。把perl示例分离开来;您应该能够很容易地找出发生了什么。通读这篇文章,并将它所说的与代码示例所做的进行比较。
接下来,看看ruby的CGI模块,因为它将帮助您解析传入的表单信息,并对url和html进行编码/解码。看看环境变量表,您将看到与wikipedia文章中提到的内容相同的内容。接下来,注意params()方法,这是访问表单变量的方式。然后阅读“writing output”和“generating html”部分,并仔细阅读示例。那你该上路了。
一旦你做到了,你应该看看Sinatra宝石。这是一个非常好的、易于使用的框架,非常适合一般的web使用,并且,在理解cgi的工作原理之后,您将能够很好地理解sinatra为您做了什么。另外,我强烈建议在sinatra中使用HAML。它是一种生成网页的快捷语言,类似于erb,但不太冗长。
您会发现,php屏蔽了使用cgi编写“普通”web应用程序所需的大量知识。如果你已经知道这些东西,那没关系,但是如果你从来没有做过低级代码,或者尝试使用不同的语言,那就不好了,因为了解cgi层提供了理解整个httpd堆栈所需的大量知识。一旦你了解了cgi层,像sinatra、rails、django、mojollicious和所有其他框架突然变得更有意义了,你就会知道什么时候可以利用它们或者使用自己的框架。而且,php在http服务器中的位置也会更加清晰,允许您选择更好的工具来完成手头的工作。

10-04 21:40
查看更多