毫不例外,和所有其他的开源项目一样,如果你想进入Ruby on rails的世界,会发现异常的的艰难,文档很少,而且很零散,
下载下来的文件缺乏基本的说明,本人的亲身体验就是一个典型例子,不废话了,现在开始介绍:
一、安装环境<windows>
Ruby on rails网站:http://www.rubyonrails.org/
1、在这里下载Ruby 1.8.6 http://rubyforge.org/frs/?group_id=167
其中已经包含rubygems 0.9.4,就不需要额外下载了,或者你也可以直接升级到1.1.1版本
2、如果你的网络够快,运行下面命令下载程序包自动安装
gem install rails --include-dependencies
否则,下载stand-alone packages 来手工安装,这里包含几个文件:
rails-2.0.2.zip http://rubyforge.org/frs/download.php/29361/rails-2.0.2.zip
rails-2.0.2.gem http://rubyforge.org/frs/download.php/29554/rails-2.0.2.gem
网上有文章介绍,将rails-2.0.2.zip放在ruby的安装目录,运行gem install rails就可以自动解压安装了,呵呵,我试了很多次,好像这种方法根本就是不行,
原作者也是语焉不详,咱们就不深究了,说到底,rails运行需要下面的依赖包,然后才能安装rails
activesupport
activerecord
actionpack
actionmailer
activeresource
其实这些依赖包已经包含在rails-2.0.2.zip文件中的vendor\rails目录下面,依次进入对应目录下的pkg子目录中就有相应的gem文件,安装这些就可以了。例如
驱动器 C 中的卷没有标签。
卷的序列号是 3754-1BDB
C:\rails\vendor\rails\activesupport\pkg 的目录
2008-04-22 17:51 <DIR> .
2008-04-22 17:51 <DIR> ..
2007-12-16 19:05 <DIR> activesupport-2.0.2
2007-12-16 19:05 234,496 activesupport-2.0.2.gem
2007-12-16 19:05 233,039 activesupport-2.0.2.tgz
2007-12-16 19:05 285,376 activesupport-2.0.2.zip
3 个文件 752,911 字节
3 个目录 6,119,768,064 可用字节
C:\rails\vendor\rails\activesupport\pkg>gem install activesupport
安装完毕之后,运行rails -v,可以显示版本Rails 2.0.2
二、Hello world起步
说句实话,第一个rails web程序有谁希望是一个连接mysql或者其他数据库的例子,至少我不这样希望,但是在网上流行的很多入门中第一个例子就是连接数据库,演示一个不用写什么代码就可以实现数据的增、删、改的例子,尽管很炫,但是对于我等入门者来说还是太麻烦了,Hello world才是我们希望要的。
(注:不少流行的电子书、教程也是这样数据库的例子,罗列一下:《Rails Cookbook》《Rails for Java Developers》《Rails Recipes》
官方介绍的教程:http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-ruby-on-rails-revisited.html
Rails 2.0 入门指导 http://www.lupaworld.com/action_viewstutorial_itemid_10205.html )
而且有一个问题,2.0的有些东西和1.X相比变化了,所以网上很多教程是基于1.x的,不少人又要走弯路了!
1、创建WEB应用
运行rails c:\ruby\projects\sample创建一个需要的sample应用,该操作会建立一些基本的目录框架、必需的文件,建好后可以进入目录看看效果。
2、启动WEB Server,测试效果
进入c:\ruby\projects\sample目录,运行ruby script/server启动服务器,然后打开网址http://localhost:3000/可以看到初始页面
3、准备Sqllite,很遗憾,我们不想涉及数据库,可以还是会遇到这个东东,在config\database.yml文件中就可以看到它的影子,没办法,这个必须安装,否则后面会遇到错误。
这里下载http://rubyforge.org/frs/?group_id=254 文件sqlite3-ruby-1.2.1-mswin32.gem,运行gem install sqlite3-ruby安装。
还必须下载sqllite3.dll文件,真麻烦啊,可以从这里下载 http://www.sqlite.org/download.html 下载文件sqlitedll-3_5_8.zip,解压到ruby的bin目录,否则后面会报找不到sqlite3.dll文件的错误。
4、由于rails采用MVC的架构组织网页程序,因此可以运行script/generate来生成需要的文件,该脚本内置了controller, mailer, model, scaffold, web_service几种程序,这里我们需要的是controller,网上还可以找到其他的生成器插件,例如自动生成一个登录界面之类。
进入c:\ruby\projects\sample目录,运行ruby script/generate controller Welcome hello
类似下面的输出,这里Welcome指定Control名称,文件welcome_controller.rb中生成一个class WelcomeController,类似于java中的Action了,其中有一个方法hello
exists app/controllers/
exists app/helpers/
create app/views/welcome
exists test/functional/
create app/controllers/welcome_controller.rb
create test/functional/welcome_controller_test.rb
create app/helpers/welcome_helper.rb
create app/views/welcome/hello.html.erb
2
3 def hello
4 @welcome_message = "Welcome to your first Rails application"
5 end
6end
7
2<HTML>
3 <HEAD>
4 <TITLE> Hello world </TITLE>
5 </HEAD>
6
7 <BODY>
8<h1>Welcome#hello ,<%= @welcome_message %></h1>
9<p>Find me in app/views/welcome/hello.html.erb</p>
10 </BODY>
11</HTML>
12