毫不例外,和所有其他的开源项目一样,如果你想进入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
6 end
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