进入Ruby on Rails世界(1)

一、ruby和rails简介

ruby是一种面向对象的动态脚本语言。它的语法很灵活,而且提供了丰富的类库。因此,用ruby编写程序的效率是非常高的。

虽然ruby很早就出现了(1993年诞生于日本),但由于ruby一直缺乏英语文档,而且当时的ruby在web开发上并不怎么出众。因此,在2000年之前,ruby还只在日本流行。但这一切被2000年问世的rails打破。

Rails是使用纯ruby编写的框架(framework)。它对web开发提供了强有力的支持,如支持数据映射、MVC模式、Web Services、安全等。而且这些功能操作起来要比同类的产品容易的多,如MVC模式就比struts更容易使用。除了这些,rails还可以根据模板 自动生成web程序。这样可以省去我们很多的时间。在讨论ruby如何借助rails快速开发web程序之前,让我们先看看如何安装和运行ruby和 rails。

安装和运行ruby

Ruby支持多个操作系统平台,目前支持windows、linux和OS X,可以从ruby的官方网站下载ruby的安装程序和源代码:http://www.ruby-lang.org/en/downloads/。

在windows下为了方便安装,建议下载ruby的安装版本。在安装完后,在ruby的安装目录中的bin目录中有两个可执行文 件:ruby.exe和rubyw.exe。第一个将启动一个控制台运行ruby程序,而第二个不启动控制台运行ruby程序。让我们先编写一个简单的 ruby程序吧!

建一个文本文件:first_ruby.rb输入一条ruby语句:

puts Time.now.strftime("%Y-%m-%d %H:%M:%S")

执行ruby first_ruby.rb

如果输出类似“2006-10-07 19:20:20”的字符串,则说明ruby已经安装成功。

注:ruby有一个eclipse插件非常不错,如果对其感性趣,可以使用eclipse的help->Software Updates->Find and Install功能通过http://updatesite.rubypeople.org/release进行安装。

安装和运行rails

Rails在windows下安装是非常容易的,只需要执行如下命令:gem install rails –include-dependencies即可。

注:gem命令在ruby安装目前的bin目录中,运行时要设置path路径。还有在执行这条命令时本机一定要连接internet。因为这条命令是通过internet来下载rails并安装的。

在安装完rails后。执行下列命令

rails first_rails cd first_rails ruby script/server

如果出现如图1的提示,则说明这些命令执行成功。

图1:ruby script/server的提示信息

然后在IE中输入http://localhost:3000。如果出现如图2的欢迎界面,则说明rails安装成功。

图2:rails的欢迎界面

Rails支持很多数据库,它默认支持的数据库是MySQL。由于使用MySQL数据库不需要安装驱动。因此,本文将使用MySQL数据库来讨论rails如何对数据库进行操作。

二、使用rails自动生成web程序

Rails最独特的功能就是可以根据模板自动生成web程序,这样可以为我们省去很多时间。下面我们就使用rails本身提供的模板来生成一个简单的web程序。

第一步 初始化执行如下命令

rails autoweb cd autoweb

第二步 建立数据库 启动MySQL服务后。以root用户登录后建立三个数据库 create database autoweb_development create database autoweb_test create database autoweb_production 分别在这三个数据库中建立同样的表records。

CREATE TABLE records ( id int(10) unsigned NOT NULL auto_increment, title varchar(50) NOT NULL, content mediumtext NOT NULL, dt datetime NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

第三步 修改database.yml文件 database.yml文件保存着数据库的连接信息。这个 文件在first_rails\config中。其中有三个标签:development、test和production。从理论上它们应该描述三个不 同的数据库。这三个数据库的结构应该是完全一样的。它们分别用在开发、测试和产品发布上。从而使这些工作不互相冲突。

在本例中只需要修改password项即可(将其设置为root的密码)。

第四步 生成web程序代码 执行如下命令

ruby script/generate scaffold Record Admin

第五步 启动服务 执行如下命令

ruby script/server

到现在为止,这个web程序已经生成完毕。它可以对records表进行基本的增、删、改操作。在IE中输入http://localhost:3000/admin可对records进行相应的操作。界面如图3所示。

图3:autoweb的首页

点击“New record”可增加一条新记录以及进行其它操作。

你可以用爱得到全世界,你也可以用恨失去全世界

进入Ruby on Rails世界(1)

相关文章:

你感兴趣的文章:

标签云: