Ruby和Ruby on Rails入门

一些背景:

我是一个千载难逢的交易,其中之一就是编程。 我通过Excel和PHP学习了VB6来创建网站,到目前为止,它对我来说很合适。 我不是CS专业甚至数学倾向 – 逻辑是我感兴趣的。

当前状态:

我愿意学习新的和更强大的语言; 我第一次尝试这样的路线就是学习Ruby。 我去了主要的Ruby网站并做了互动介绍。 (顺便说一下,当我尝试链接时,我目前正被重定向到google.com …它也发生在其他网站上……我的计算机被感染了吗?)

我喜欢我学到的东西,并希望开始使用Ruby来创建网站。 我下载了InstantRails并安装了它; 到目前为止一切都很好 – 程序启动很好,我可以在控制台中测试一些Ruby代码。 然而,当我尝试查看存在Ruby代码的网页时,我的麻烦就开始了。

最后,我的问题:

和PHP一样,我可以直接浏览.php文件,并使用PHP标签和一些简单的’echo’语句,我可以在制作动态网页时使用它。 但是,即使InstantRails应用程序正常工作,访问.rb或.rhtml页面也不会产生类似的结果。 我创建了一个名为’test.rb’的简单文本文件,并在其中放置了基本的HTML标记(html,head,body)和Ruby标记,里面有一些ruby代码。 网页实际上显示了标签和代码 – 好像它只是纯HTML。 我认为Ruby在向用户显示之前没有解析页面,但这是我对Ruby环境缺乏了解的地方。 我从哪里去?

致辞: 本教程对我帮助很大 ! 我建议那些在我位置的人去那里。

首先,您必须断开文件和URL之间的关系 。 Rails使用MVC方法,这种方法与基于脚本的方法(如ASP / PHP)不同

在经典的PHP中,你有这样的东西

  1. 服务器>服务器已启动,从/usr/jake/example.com/htdocs/提供脚本
  2. 用户>请给我/home.php ,谢谢!
  3. Server> OK,/ /home.php映射到/usr/jake/example.com/htdocs/home.php
  4. 服务器>执行/usr/jake/example.com/htdocs/home.php
  5. 服务器>好的,打印出“Hello World!”,将其发送给响应。
  6. 用户>好的,/ /home.php显示“Hello World!”

但是,大多数MVC框架(包括Rails)都是这样的:

  1. Server> Server启动,初始化路由模块routes.rb
  2. 用户>请给我/home ,谢谢!
  3. 服务器> OK, /home ,根据路由模块,使用控制器FrontpageCtr操作ShowHomepage()进行处理
  4. 服务器>执行FrontPageCtr.ShowHomepage()
  5. Ruby> FrontPageCtr.ShowHomepage()打印“Hello World!”
  6. 服务器>确定,发送“Hello World!” 管道下来!
  7. 用户>好, /home显示“Hello World!”

如您所见, 用户放入地址栏的内容与任何脚本文件之间没有任何关联

在典型的MVC框架中,处理对任何URL的请求都是这样的:

  1. 查看路由模块(在rails的情况下,在routes.rb定义)
  2. 然后路由模块将告诉服务器应该使用“Controller”和“Action”来处理请求。
  3. 然后Rails创建Controller并调用Action函数
  4. 然后,动作的结果.rhtml “渲染”,在这种情况下,假定将.rhtml文件渲染为实际的HTML …当然还有其他类型的结果,例如将用户发送到另一个URL等等。
  5. 然后将结果写出到响应流并由用户的浏览器显示。

简而言之:您必须首先断开脚本和URL的概念。 当您构建MVC网站时,它们几乎总是没有大多数人理解的方式相关。

考虑到这一点,你应该更习惯学习Rails和MVC的生活方式。

我不是Rails专业版,所以如果我在任何方面弄错了,请纠正我。

我建议通过使用Rails的Agile Web开发来购买和工作,这是一本很好的书,也是学习Ruby和Rails的非常实用的方法。 它可以立即以各种电子格式提供,如果您愿意,还可以获得纸质副本。

根据您的描述,您对Ruby和Rails的工作原理有着根本性的缺陷。 我建议你花点时间阅读这本书,然后回来询问你遇到的任何问题。

Rails是“在向用户显示之前解析页面”,如果找到要修改的正确文件;-)要修改的文件位于以下文件夹中:

应用程序/视图/ …

这是简短的答案。 对于一个全面的(对于新手),我强烈建议: http : //guides.rubyonrails.org/getting_started.html

开始使用Ruby on Rails起初有点令人生畏,但是一旦开始它就会变得容易多了。 在为启动加速器,哈佛商学院,时代广场,波士顿和匹兹堡运行Ruby on Rails bootcamps后,我启动了http://www.firehoseonline.com 。 这是一个入门的video教程,因此您应该查看该网站。

我的建议是通过实际编写代码来尽可能多地学习。 不要过多地关注细节和细节。 如果教程为您提供了一些代码和一些信息,并且您最初没有吸收所有信息,请继续。 然后回到材料,一旦你完成了编写第一个应用程序的整个过程,很多部分就会融合在一起。

关于直接打开php文件的问题,使用MVC模式有点不同。 在开始将代码放入.rhtml (或现在的.html.erb )文件之前,您需要设置控制器,视图和路由。 由于这种架构,你将能够编写很多令人敬畏的,干净的代码,速度非常快,但是你可能有点棘手(如果你真的想以其他框架的方式编写代码,但请相信我们这种方式更好)。 坚持下去!

保持你的编码mojo高!

阿罗哈,肯