Ruby on Rails
是一個(gè)可以使你開發(fā),部署,維護(hù)
web
應(yīng)用程序變得簡單的框架。
?
當(dāng)然了,所有的
web
框架都有同樣的目標(biāo)。是什么使得
Rails
如此不同呢?我們可以通過幾個(gè)途徑來回答這個(gè)問題。
?
第一是看架構(gòu)。在過去的時(shí)間里,許多開發(fā)者在嚴(yán)謹(jǐn)?shù)?/span>
web
應(yīng)用程序上使用
MVC
架構(gòu)。他們發(fā)現(xiàn)
MVC
架構(gòu)可以使他們的程序變得更清晰。(我們將在下一章更詳細(xì)討論
MVC
)在
java
中象
Tapestry
和
Struts
這些框架都是基于
MVC
。
Rails
也是一個(gè)
MVC
框架。當(dāng)你使用
Rrails
進(jìn)行開發(fā),應(yīng)用程序的所有代碼以一種標(biāo)準(zhǔn)方式互相作用。在開始開發(fā)之前,整個(gè)應(yīng)用程序的骨架已經(jīng)搭好的。
?
回答這個(gè)問題的第二個(gè)是看編程語言。
Rails
程序是使用
Ruby
編寫的,它是一門現(xiàn)代,面向?qū)ο蟮哪_本語言。
Ruby
簡潔,不難理解。它可以讓你快速地用代碼自然
,
清晰表達(dá)想法。讓你的程序能很簡單被編寫并且在幾個(gè)月后還能很容易讀懂。
?
Ruby
有它自己的編程風(fēng)格,這對于
Lisp
程序員看起來會(huì)很熟悉,但是對于其他人來說還是相當(dāng)奇特的。這語言很容易編寫方法完成幾乎所有的動(dòng)作例如擴(kuò)張語法,一些人稱之為元程序。(具體概念參考
http://www.csdn.net/develop/article/18/18074.shtm
)正好這是對我們很有用的。它可以使我們的程序更短,可讀性更強(qiáng)。它也允許我們完成通常需要在外部擴(kuò)展配置文件完成的一些任務(wù)。在接下去的一些事情,它做起來就更加簡單了。下面代碼是定義一個(gè)
project
?,F(xiàn)在不需要擔(dān)心這里面的細(xì)節(jié)。相反,我們要想想這幾行代碼表達(dá)了多少的信息。
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
?