Ruby on Rails 是一個可以使你開發,部署,維護 web 應用程序變得簡單的框架。

?

當然了,所有的 web 框架都有同樣的目標。是什么使得 Rails 如此不同呢?我們可以通過幾個途徑來回答這個問題。

?

第一是看架構。在過去的時間里,許多開發者在嚴謹的 web 應用程序上使用 MVC 架構。他們發現 MVC 架構可以使他們的程序變得更清晰。(我們將在下一章更詳細討論 MVC )在 java 中象 Tapestry Struts 這些框架都是基于 MVC Rails 也是一個 MVC 框架。當你使用 Rrails 進行開發,應用程序的所有代碼以一種標準方式互相作用。在開始開發之前,整個應用程序的骨架已經搭好的。

?

回答這個問題的第二個是看編程語言。 Rails 程序是使用 Ruby 編寫的,它是一門現代,面向對象的腳本語言。 Ruby 簡潔,不難理解。它可以讓你快速地用代碼自然 , 清晰表達想法。讓你的程序能很簡單被編寫并且在幾個月后還能很容易讀懂。

?

Ruby 有它自己的編程風格,這對于 Lisp 程序員看起來會很熟悉,但是對于其他人來說還是相當奇特的。這語言很容易編寫方法完成幾乎所有的動作例如擴張語法,一些人稱之為元程序。(具體概念參考 http://www.csdn.net/develop/article/18/18074.shtm )正好這是對我們很有用的。它可以使我們的程序更短,可讀性更強。它也允許我們完成通常需要在外部擴展配置文件完成的一些任務。在接下去的一些事情,它做起來就更加簡單了。下面代碼是定義一個 project 。現在不需要擔心這里面的細節。相反,我們要想想這幾行代碼表達了多少的信息。

class Project < ActiveRecord::Base

?????? belongs_to :portfolio

??? has_on :project_manager

??? has_many :milestones

??? has_and_belongs_to_many :categories

???

??? validates_presence_of :name,:description

??? validates_acceptance_of :non_disclosure_agreement

??? validates_uniqueness_of :key

end

?