欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

rails创建应用程序实例

程序员文章站 2022-04-09 14:05:25
安装了rails框架之后,你同时也得到了一个新的命令行工具:rails。这个工具可以用于构造每个新的rails应用程序。 为什么我们需要这么一个工具——我是说,为什么不抄...

安装了rails框架之后,你同时也得到了一个新的命令行工具:rails。这个工具可以用于构造每个新的rails应用程序。

为什么我们需要这么一个工具——我是说,为什么不抄起最顺手的编辑器,从头开始编写应用程序的每行代码呢?呃……我们确实可以这样做,但rails可以在 幕后变很多戏法,让我们只需要做最少量的配置即可运行一个应用程序。为了让这些戏法能够生效,rails必须能够找到应用程序中的各种组件。正如我们稍后 将会看到的,这就意味着我们必须创建某种固定的目录结构,并且将我们的代码放在合适的地方。 rails这个命令可以帮我们创建这一目录结构,并且生成一些标准的rails代码。

现在,我们来创建第一个rails应用程序:打开shell窗口,进入文件系统的某个地方——你希望将应用程序目录结构保存在那里的某个地方。在我们的例 子中,我们将把项目创建在一个名为work的目录之下。因此,我们在这个目录中用rails命令创建一个名为demo的应用程序。在这里要加些小心:如果 已经存在一个名叫demo的目录,rails会询问你是否要覆盖已有的文件。

复制代码 代码如下:

dave>   cd   work

work>   rails   demo

create

create   app/apis

create   app/controllers

create   app/helpers

:   :   :

create   log/development.log

create   log/test.log

work>

上述命令创建了一个名为demo的目录。进入这个目录,列出它的全部内容(在unix中使用ls命令,在windows中使用dir命令),你应该会看到这样的一堆文件和子目录:

复制代码 代码如下:

work>   cd   demo

demo>   ls   -p

changelog   app/   db/   log/   test/

readme   components/   doc/   public/   vendor/

rakefile   config/   lib/   script/

突然面对那么多目录(还有它们包含的文件)也许会让你感到有点害怕,不过我们完全不用理会它们的存在。现在,我们只需要用到它们中的一个,也就是public目录。

正如它的名字所暗示的,public目录包含了我们希望暴露给最终用户看到的那些文件。这里的关键文件是分发器 (dispatcher):dispatch.cgi、dispatch.fcgi、以及dispatch.rb。分发器负责接收用户从浏览器发出的请 求,并将这些请求引导至应用程序中的程序代码。这几个文件很重要,不过我们目前还不需要接触它们。

你还会看到,在demo目录下有一个script子目录,其中存放的是一些工具脚本,我们在开发应用程序的过程中会用到它们。现在,我们就要使用其中名叫 server的脚本,它会启动一个独立运行的webrick[1]服务器,我们新建的rails应用程序就将在其中运行。那么,在继续前进之前,我们先把 刚才编写(或者说,生成)的应用程序启动起来吧。

复制代码 代码如下:

demo>   ruby   script/server

=>   rails   application   started   on   http://0.0.0.0:3000

[2005-02-26   09:16:43]   info   webrick   1.3.1

[2005-02-26   09:16:43]   info   ruby   1.8.2   (2004-08-24)   [powerpc-darwin7.5.0]

[2005-02-26   09:16:43]   info   webrick::httpserver-start:   pid=2836   port=3000


从启动输出信息的最后一行就可以看出,我们在3000端口[2]上启动了一个web服务器。我们可以打开浏览器,访问http://localhost:3000,就会看到这个应用程序。
我们可以让webrick一直在这个命令行窗口中运行。稍后我们编写应用代码之后,只要在浏览器中访问,就会看到命令行窗口输出请求的相关信息。如果想要停止webrick的运行,可以在命令行窗口中按下ctrl-c键。

现在,我们已经让新应用跑了起来,但其中还没有我们自己编写的代码。下面,我们就要改变这种情况。

[1]   webrick是一个纯ruby编写的web服务器,随ruby   1.8.1或更高版本发行。
[2]   url地址中的“0.0.0.0”表示webrick会接收来自所有接口的连接。在dave的os   x系统上,这就表示不管来自本地接口(127.0.0.1和::1)还是来自lan连接的请求都会被webrick接收到。

现在,我们来编写一个极其简单的web应用,以验证rails已经成功地在我们的机器上落户了。在此过程中,我们还会简单介绍rails应用的工作方式。