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