2010-03-17 122 views
2

一些背景资料:入门使用Ruby和Ruby on Rails的

我是一个千斤顶的,所有行业,其中之一是编程。我通过Excel和PHP学习了VB6来创建网站,到目前为止,这对我来说算得很好。我不是CS大学,甚至数学倾向 - 逻辑是我感兴趣的。

现状:

我愿意学习新的和更强大的语言;我第一次进入这样一条路线就是学习Ruby。我去了the main Ruby website并做了互动介绍。 (顺便说一下,我目前正在被重定向到google.com,当我尝试连接......这是发生在其他网站,以及...是我的电脑感染了吗?)

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

最后,我的问题:

如PHP,我可以浏览到直接在PHP文件,并通过使用PHP标签和一些简单的“回响”的语句,我可以在我的方式做动态网页页面。但是,InstantRails应用程序正常工作时,访问.rb或.rhtml页面不会产生类似的结果。我制作了一个名为'test.rb'的简单文本文件,并在其中放置了基本的HTML标签(html,head,body)以及带有一些ruby代码的Ruby标签。该网页实际上显示标签和代码 - 就好像它们都只是纯HTML。我认为Ruby在向用户显示之前不会解析页面,但这是我对Ruby环境缺乏了解的地方阻止了我的缺点。我从哪里出发?

AMMENDMENT:This tutorial帮了我很大的忙!我建议任何人在我的位置去那里。

+0

这听起来像你的Rails服务器可能无法运行。不确定最新的安装是什么,但它可能是WEBrick。不记得如何启动它,但Google会为您找到它。 ;) 此外,使用Rails应用程序,您不直接访问rhtml或rb文件,而是根据* rb或rhtml文件导航到应用程序处理和渲染的*路径*。 文件和路径之间的映射是**不必**必须是1对1。最后,查看为什么指导Ruby。最好。编程书。 EVAR。 www.planb-security.net/whys-poignant-guide-to-ruby.pdf – FrustratedWithFormsDesigner

回答

6

首先,您必须断开文件和URL之间的关系。 Rails使用MVC的做法,这是从像ASP/PHP

在传统的基于PHP脚本的方法的世界,不同的,你有这样的事情

  1. 服务器>服务器启动,服务脚本从/usr/jake/example.com/htdocs/
  2. 用户>请给我/home.php,谢谢!
  3. 服务器> 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框架(包括滑轨)是这样的:

  1. 服务器>服务器启动时,初始化路由模块routes.rb
  2. 用户>请给我/home,感谢
  3. 服务器> OK,/home,根据路由模块,在控制器中采取动作ShowHomepage()处理FrontpageCtr
  4. 服务器>执行FrontPageCtr.ShowHomepage()
  5. 红宝石>FrontPageCtr.ShowHomepage()打印“Hello World!”
  6. 服务器>确定,向管道发送“Hello World!”!
  7. 用户>好的,/home显示“Hello World!”

正如你所看到的,之间存在什么样的用户投入到地址栏和任何脚本文件

在一个典型的MVC框架,处理任何URL的请求是这样的无连接:

  1. 查找路由模块中(其在轨道的情况下,在routes.rb定义)
  2. 路由模块将通知服务器哪个“控制器”和“动作”应该用于处理请求。
  3. 的Rails然后创建控制器并调用任何可能是
  4. 从动作,然后被“渲染”,其中,在这种情况下,理应呈现.rhtml文件作为实际HTML结果操作功能...有当然,还有其他种类的结果,例如发送用户到另一个URL和什么。
  5. 然后将结果写出到响应流并由用户的浏览器显示。

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

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

我不是Rails专业人员,所以如果我误解了任何部分,请纠正我。

1

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

从你所描述的你有一个根本上有缺陷的理解,特别是如何运行的Ruby和Rails。我建议你花一些时间阅读这本书,然后回过头来问一些你被困住的东西。

0

Rails的是“前被显示给用户解析页面”,如果你找到正确的文件来修改;-)被修改过的文件是以下文件夹下(S):

app/views/...

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

0

开始使用Ruby on Rails刚开始有点令人望而生畏,但开始后它变得更容易了。在运行启动加速器,哈佛商学院,波士顿时代广场和匹兹堡的Ruby on Rails bootcamps后,我开始了http://www.firehoseonline.com。这是一个开始的视频教程,所以你应该看看那个网站。

我的建议是通过实际编写代码尽可能地学习。不要在细节和细节上陷入太多。如果教程给你一些编写代码和一些信息,并且你一开始并没有吸收所有的信息,继续下去。之后再回到材料上,一旦你完成了第一个应用程序的编写过程,很多作品都会融合在一起。

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

保持你的编码mojo高!

阿罗哈, 肯