Ruby& amp;入门Ruby on Rails

时间:2010-03-17 02:59:50

标签: ruby-on-rails

某些背景:

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

当前状态:

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

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

最后,我的问题:

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

AMMENDMENT: This tutorial对我帮助很大!我建议那些在我位置的人去那里。

4 个答案:

答案 0 :(得分:6)

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

)不同

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

  1. 服务器>服务器已启动,提供来自/usr/jake/example.com/htdocs/
  2. 的脚本
  3. 使用者>请给我/home.php,谢谢!
  4. 服务器>好的,/home.php已映射到/usr/jake/example.com/htdocs/home.php
  5. 服务器>执行/usr/jake/example.com/htdocs/home.php
  6. 服务器>好的,它打印出一个“Hello World!”,将其发送给响应。
  7. 使用者>好的,/home.php显示“Hello World!”
  8. 但是,大多数MVC框架(包括Rails)都是这样的:

    1. 服务器>服务器已启动,初始化路由模块routes.rb
    2. 使用者>请给我/home,谢谢!
    3. 服务器>好的,路由模块/home由控制器ShowHomepage()中的操作FrontpageCtr处理
    4. 服务器>执行FrontPageCtr.ShowHomepage()
    5. 红宝石> FrontPageCtr.ShowHomepage()打印“Hello World!”
    6. 服务器>好的,发送“Hello World!”管道!
    7. 使用者>好的,/home显示“Hello World!”
    8. 如您所见,用户放入地址栏的内容与任何脚本文件之间没有关联

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

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

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

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

  

应用程序/视图/...

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

答案 3 :(得分:0)

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

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

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

保持你的编码极高!

阿罗哈, 肯