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