本文詳細介紹如何在Windows配置Ruby on Rails 開發環境,希望對ROR初學者能有協助。
一、下載並安裝Ruby
Windows下安裝Ruby最好選擇 RubyInstaller(一鍵安裝包)。
下載地址: http://rubyforge.org/frs/?group_id=167 。
我們這裡下載目前較新的rubyinstaller-1.9.3-p0.exe 一鍵安裝包。這個安裝包除了包含ruby本身,還有許多有用的擴充(比如gems)和 協助文檔。
雙擊安裝,安裝過程出現如下介面。如圖
這裡我們選擇安裝路徑為 D:\Ruby。 下面有3個選項分別是:(1) 是否安裝tclTk支援。(2) 添加ruby命令路徑到系統內容變數PATH。(3)是否將 .rb 和.rbw 檔案關聯到Ruby。
這裡我們全部打勾。點擊“Install” 安裝完畢。
開啟CMD視窗,運行 ruby -v 顯示ruby目前的版本號。如圖
你也可以輸入 ruby -e 'puts "hello world" ',則顯示 hello world。
也可以開啟記事本寫一段代碼如: puts "hello world",儲存為 test.rb,然後在CMD中 運行 ruby test.rb 則顯示結果 hello world。
我想你不甘心就用記事本來寫程式吧,這裡推薦一款輕巧的代碼編輯器SciTE,支援多種文法高亮顯示及高亮匯出,且免費開源。以前的RubyInstaller 內建SciTE,而新版需要自己下載。官方地址:scintilla.org windows下有綠色版和安裝版,安裝版下載 點這裡。
安裝SciTE後,開啟它,我們輸入代碼 puts "hello world" ,點擊菜單=>file=>save 儲存檔案為test.rb。 然後按鍵盤F5,右側輸出視窗出現結果。如圖:
二、下載並安裝RubyGems
RubyGems是一個方便而強大的Ruby封裝管理員,類似RedHat的RPM。它將一個Ruby應用程式打包到一個gem裡,作為一個安裝單元。 特點:能遠程安裝包,包之間依賴關係的管理,簡單可靠的卸載,查詢機制,能查詢本地和遠程伺服器的包資訊,能保持一個包的不同版本,基於Web的查看介面,能查看你安裝的gem的資訊。
從官方下載RubyGems,以zip版本為例,解開壓縮包,從CMD提示視窗下進入setup.rb所在目錄, 運行 ruby setup.rb 即可安裝。
較新的Ruby版本已經包含RubyGems了,因此我們不用手動下載安裝了。只需在CMD視窗輸入指令:gem update --system ,耐心等待一段時間,已有的RubyGems會更新到目前最新的版本。如圖。
三、下載並安裝Rails
從CMD提示視窗輸入指令:gem install rails 開始安裝rails。
如不想安裝文檔檔案,可以輸入:gem install rails --no-rdoc --no-ri
程式自動下載並安裝rails, 耐心等待。如圖所示:
安裝完成後,你可以在路徑 D:\Ruby\lib\ruby\gems\1.9.1\gems 看到些東西,都是rails的包檔案,與ruby安裝在同一目錄下。
這時在CMD提示視窗輸入指令: rails -v 顯示rails的版本號碼。如圖:
四、下載並安裝DevKit
DevKit 是windows平台下編譯和使用本地C/C++擴充包的工具。它就是用來類比Linux平台下的make, gcc, sh來進行編譯。這個方法目前僅支援通過RubyInstaller安裝的Ruby。
下載Devkit:http://rubyinstaller.org/downloads
如果上面的地址打不開,就從這裡下載:https://github.com/oneclick/rubyinstaller/downloads/
我們這裡使用目前較新的版本 DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
安裝步驟:
1) 將下載 DevKit 解壓到 D:\DevKit 目錄。
2) 開啟 CMD 視窗,進入 D:\DevKit 目錄,輸入ruby dk.rb init 。#產生config.yml,這裡會檢查將要添加DevKit支援的Ruby列表,只支援通過RubyInstaller安裝的Ruby。
3) 輸入 ruby dk.rb install #開始安裝。
4) 輸入 ruby dk.rb review #檢查要添加DevKit支援的Ruby列表是否有誤,可以略過。
5) 輸入 gem install rdiscount --platform=ruby 。#這一步只是驗證DevKit是否安裝成功,如果能安裝rdiscount成功說明安裝DevKit成功,也可以不做。
整個過程如圖:
五、建立一個Rails項目
開啟CMD提示視窗,進入D盤,輸入指令:rails new www ,會在D盤建立名稱為www 的rails項目結構。
接著進入www目錄,輸入指令:rails server ,啟動rails內建的 webrick 伺服器。如圖:
開啟瀏覽器輸入地址 http://localhost:3000/ 看到歡迎頁面,如下圖:
下來我們讓Rails說 "Hello"
Rails是一個MVC架構,Rails接收來自瀏覽器的請求,對請求進行解讀以找到合適的控制器,再調用控制器中合適的方法。然後,控制調用合適的視圖,把結果顯示給使用者。Rails提供了快速建立視圖和控制的方法,開啟CMD命令視窗。進入到剛才的www項目目錄,輸入命令:rails generate controller say hello 如圖:
下面我開啟上圖中提示的視圖檔案,路徑是 /項目目錄/app/views/say/hello.html.erb
修改為如下形式:
複製代碼 代碼如下:
<h1>Say#hello</h1>
<p>現在時間是:<%=@time%></p>
注意:將視圖檔案 hello.html.erb 另存新檔UTF-8編碼格式,否則中文會出現亂碼。說明一下是UTF-8編碼,而不是 UTF-8 +BOM 編碼,BOM 是通過檔案開頭添加幾個字元表示檔案編碼的標準。但是只有微軟用了,x-nix 、PHP、Ruby 不認。
接著開啟控制器檔案,路徑是 /項目目錄/app/controllers/say_controller.rb
修改為
複製代碼 代碼如下:
class SayController < ApplicationController
def hello
@time=Time.now
end
end
開啟瀏覽器訪問:http://localhost:3000/say/hello,結果如下圖。
如果要更改首頁,讓首頁顯示Hello。只需2步:
1) 找到 /項目目錄/config/route.rb 檔案,尋找到這行 # root :to => 'welcome#index' 去掉注釋並設定為自己的控制器,修改為 :
root :to => 'say#hello'
2) 刪除 /項目目錄/public/index.html 檔案,因為rails優先讀取public目錄下的靜態檔案。
再次訪問:http://localhost:3000,首頁顯示Say#Hello,於上圖的內容一致。
六 建立一個使用MySQL資料庫的Rails項目
1) 開啟CMD視窗,進入D盤,輸入命令:rails new work --database Mysql,在D盤建立名稱為 work 的rails 項目結構。
2) 必須將libmysql.dll庫拷貝到 Ruby安裝目錄的Bin目錄下(D:\Ruby\Bin)。否則在啟動伺服器時候會提示:“沒有找到LIBMYSQL.dll,因此這個應用程式未能啟動。重新安裝應用程式可能會修複此問題。”
下載地址:http://www.mysql.com/downloads/connector/c/
我們這裡下載 mysql-connector-c-noinstall-6.0.2-win32.zip ,解壓縮,在lib目錄裡面的libmysql.dll 就是我們要找的。
3) 修改資料庫的配置資訊。在 /項目目錄/config/database.yml 檔案中,分別對應 “開發”、“測試”,“生產” 資料庫的配置,把他們修改為自己的配置。
其中development是我們開發中要實際使用的資料庫。一定要注意在username: 和 password: 後面至少要保留一個空格。
4) 在CMD視窗輸入rake db:craete 命令,會在msyql 中建立由配置資訊中所設定的資料庫。
5) 我們用scaffold來產生代碼,在CMD中輸入下面指令:
rails generate scaffold post title:string body:string addTime:datetime
這時候會建立controller, views, models和資料庫指令碼,但此時還沒有建立表。
再輸入:rake db:migrate 建立表。完成。
6) 執行命令 rails server
通過瀏覽器訪問:http://localhost:3000/posts 這個頁面已經為我們產生了增刪改查代碼,OK。