毫不例外,和所有其他的開源項目一樣,如果你想進入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:\rails\vendor\rails\activesupport\pkg>dir
磁碟機 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-2.0.2.gem就可以了。
安裝完畢之後,運行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
C:\ruby\project\sample>ruby script/generate controller Welcome 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
app\controllers\welcome_controller.rb檔案加上下面的代碼1class WelcomeController < ApplicationController
2
3 def hello
4 @welcome_message = "Welcome to your first Rails application"
5 end
6end
7
app\views\welcome\hello.html.erb檔案如下內容 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
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
大功告成,啟動web server,輸入網址http://localhost:3000/welcome/hello就可以看到效果了。