Ruby/Ruby on Rails/Chapter

From YuntechWiki

Jump to: navigation, search

Contents

RoR適用的專案類型

  • Web 2.0 applications
  • Test-Driven web development
  • eXtreme Programming, Test-driven software project
  • MVC(Model-View-Controller) architecture web applications
  • AJAX-enabled web applications
  • 上線時間受限、(資料庫、流程)需求隨時可能遭遇變動

建議參考書籍

  1. Apress, Beginning Ruby on Rails E-Commerce From Novice to Professional
  2. Agile Web Development with Rails
  3. Oreilly, Ruby On Rails Up And Running
  4. Springer, Ruby on Rails for PHP and Java Developers

安裝 Instant Rails

Instant Rails 集合了 Ruby、Rails、Apache、MySQL 等,讓開發人員可以快速地建立RoR環境,而不用經過瑣碎的下載、安裝及設定過程,解壓縮後可立即開始使用,以下是一段Instant Rails官方的介紹文字。

Instant Rails is a one-stop Rails runtime solution containing Ruby,
Rails, Apache, and MySQL, all pre-configured and ready to run.
No installer, you simply drop it into the directory of your choice
and run it. It does not modify your system environment.

下載

Instant Rails 專案登記在 RubyForge 網站,因此可以從以下網址取得最新版軟體。

本書採用的版本為 Instant Rails 2.0,因此您需要下載的是 InstantRails-2.0-win.zip 壓縮檔。

使用

將壓縮檔解壓縮,建議可以放在 C:\InstantRails 。在資料夾中可以看到 InstantRails.exe 執行檔,直接開啟執行它,將會有以下的畫面出現。

(此處貼畫面)

※請確認InstantRails畫面上的Apache及MySQL都是顯示綠燈Started,若是其他情況則表示網頁伺服器及資料庫無法作用,有可能是以下原因:

  • 先前已有安裝Apache網頁伺服器軟體,請先將它關閉
  • 先前已有安裝MySQL資料庫軟體,必須先將它關閉
  • 受到防火牆軟體或防毒軟體的阻擋,必須設定允許InstantRails程式執行

※關閉Apache或MySQL的方法

  1. 打開[控制台] > [系統管理工具] > [服務],尋找Apache或MySQL相關的服務並將它停止
  2. Ctrl+Alt+Del開啟Windows工作管理員,判斷Apache或MySQL執行程序並將它停止(例如apache.exe、httpd.exe、mysqld.exe等)。

MySQL管理工具

RoR開發測試與練習的最佳資料庫方案為MySQL,為方面MySQL的操作管理與資料庫維護,建議可以安裝MySQL官方的工具MySQL GUI Tools,目前最新版本為5.0,可以免費下載。

InstantRails亦內建了廣泛使用的phpMyAdmin工具,是一個使用PHP平台開發的MySQL線上管理介面,在InstantRails的Apache伺服器與MySQL資料庫皆啟動成功後,就能使用以下網址開啟phpMyAdmin。

線上學習資源

Ruby on Rails初學者剛開始可能遇到的問題之一,就是不知道從何開始學習,因為市售書籍數量很少,網路能找到的教學資源比起其他開發工具也相對很少,除了參考我們提供的教學,您也可以從以下的線上網站取得更多學習內容。

建構第一個Rails專案

在這個章節我們將動手實作一個新的Rails專案,將它命名為MyProject,這是一個相當簡單的Hello World Example,您只要照著說明的步驟進行,就能完成第一個Rails應用程式的實作。

使用InstantRails的Open Ruby Console Window功能,我們可以開始方便地下指令,請先開啟這個功能準備進行以下的操作。

首先,我們使用rails指令建立新專案,命名為MyProject。由這道指令的輸出,我們可以得知一個新的資料夾MyProject已經被建立,並且在其中包含了所有Rails專案需要用到的子目錄。

rails -d mysql MyProject

rails指令後面接的是新專案的名稱,而-d參數則是指定使用何種資料庫驅動程式庫,若未指定則會使用該Rails版本的預設值,必須手動修改資料庫的設定檔,因此通常建議在新專案建立時就使用此參數指定資料庫。

接著,切換到新專案的資料夾下。

cd MyProject

在script資料夾下,存放著許多Rails提供的工具程式,皆是以Ruby撰寫,因此可以使用ruby指令直接執行,例如一個about程式用來顯示Ruby及Rails的環境資訊。

ruby script\about

測試Rails專案,使用內建的輕巧型Web伺服器---Mongrel是最方便不過了,使用server這個script工具,可以立即執行這個專案專屬的測試用伺服器,請試著執行以下的指令。

ruby script\server

以下是執行結果的範例,由其中的訊息可以得知Web伺服器以3000的port執行服務。

=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. INT => stop (no restart).
** Mongrel 1.1.2 available at 0.0.0.0:3000
** Use CTRL-C to stop.

到目前為止,我們已建立一個新的Rails專案,請使用瀏覽器開啟http://localhost:3000/網址,就可以看到Rails幫我們準備好的Welcome Page。

認識MVC架構

Model-View-Controller是許多網頁程式設計師推崇的架構,它將繁雜的網頁設計工作清楚劃分為資料庫、程式流程、介面設計等大類,使得網頁製作的開發團隊能夠更有效率地分工,程式碼也能夠變得較為精簡、易維護。在Ruby on Rails的規範中,必須使用MVC架構才能進行開發,Rails在幫我們建立新的專案目錄時,在app這個子目錄中,已經分別建好controllers、models、views三個子目錄,我們必須在其中放置內容類型正確、命名無誤的Ruby程式檔,才能夠順利進行Rails程式的開發工作。

建立第一個Controller程式

rake db:create
ruby .\script\generate controller hello index
class Controller < ActionController::Base
def action
params[:id]
end
end
Italic text
  • 資料庫維護
    • 建立資料庫
      rake db:create
    • 異動資料庫(增修資料表)
      rake db:migrate
    • 測試
      rake

YML

YAML: YAML Ain't Markup Language

What It Is: YAML is a human friendly data serialization

 standard for all programming languages.
Personal tools