- 模型(model)
- 视图(view)
- 控制器(controller)
Rails对Web应用的结构有着严格的约束。但是这些约束反倒使得创建应用程序变得简单。
模型
负责维持应用程序的状态。这种状态有时候是短暂的(仅用于和用户的几次交互),有时是持久的(需要将其保存在应用程序之外,如数据库中)。
模型是数据,但又不只是数据。还负责把业务规则附加在这些数据上。通过这样的设计,模型就不再只是数据的容器,还是数据的监护者。
视图
负责生成用户界面。通常根据模型中的数据来生成。
控制器
负责协调整个应用程序的运转。控制器接收外界的事件,与模型进行交互,并将合适的视图展示给用户。
Rails强制性要求应用程序按照MVC进行三个方面的划分。并遵循这个结构开发各个部分的功能。
当程序运行时,Rails会把各个部分组装在一起。
Rails的强大之处:基于约定重于配置的原则,把程序组合在一起。大大减少了配置信息的设置。
Rails程序运作流程
- 进入的请求会首先发送给一个路由器;
- 该路由器判断应该将请求发送到应用程序的什么部分以及如何解析这个请求:控制器/方法;