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