什么是 Rails?
Rails 是一个 Web 应用程序框架,其中包含根据 模型-视图-控制器 (MVC) 模式创建数据库支持的 Web 应用程序所需的一切。
理解 MVC 模式是理解 Rails 的关键。MVC 将应用程序分为三层:模型、视图和控制器,每一层都有特定的职责。
模型层
模型层表示域模型(例如帐户、产品、人员、帖子等)并封装特定于您的应用程序的业务逻辑。在 Rails 中,数据库支持的模型类派生自 ActiveRecord::Base. Active Record允许您将数据库行中的数据呈现为对象,并使用业务逻辑方法修饰这些数据对象。尽管大多数 Rails 模型都由数据库支持,但模型也可以是普通的 Ruby 类,或者实现Active Model模块提供的一组接口的 Ruby 类。
视图层
视图层由“模板”组成,负责提供应用程序资源的适当表示。模板可以采用多种格式,但大多数视图模板是带有嵌入式 Ruby 代码(ERB 文件)的 HTML。通常呈现视图以生成控制器响应或生成电子邮件正文。在 Rails 中,视图生成由Action View处理。
控制器层
控制器层负责处理传入的 HTTP 请求并提供合适的响应。通常,这意味着返回 HTML,但 Rails 控制器还可以生成 XML、JSON、PDF、特定于移动设备的视图等。控制器加载和操作模型,并渲染视图模板以生成适当的 HTTP 响应。在 Rails 中,传入请求由 Action Dispatch 路由到适当的控制器,并且控制器类派生自ActionController::Base. Action Dispatch 和 Action Controller 在Action Pack中捆绑在一起。
框架和库
Active Record、Active Model、Action Pack和Action View都可以在 Rails 之外独立使用。
除此之外,Rails 还附带:
- Action Mailer,一个用于生成和发送电子邮件的库
- Action Mailbox,一个在 Rails 应用程序中接收电子邮件的库
- Active Job,一个用于声明作业并使它们在各种队列后端上运行的框架
- Action Cable,一个将 WebSocket 与 Rails 应用程序集成的框架
- Active Storage,一个将云和本地文件附加到 Rails 应用程序的库
- Action Text,一个处理富文本内容的库
- Active Support,对 Rails 有用的实用程序类和标准库扩展的集合,也可以在 Rails 之外独立使用
入门
- 如果尚未安装 Rails,请在命令提示符下安装:
$ gem install rails
2.在命令提示符下,创建一个新的 Rails 应用程序:
$ rails new myapp
其中“myapp”是应用程序名称。
3.将目录更改为myapp并启动 Web 服务器:
$ cd myapp
$ bin/rails server
4.使用--help或-hfor 选项运行。
5.转至http://localhost:3000,您将看到包含 Rails 和 Ruby 版本的 Rails 引导屏幕。
项目地址:
https://github.com/rails/rails