欢迎来到 Rails¶ ↑
什么是 Rails?¶ ↑
Rails 是一个 Web 应用程序框架,它包含了根据 模型-视图-控制器 (MVC) 模式创建数据库驱动的 Web 应用程序所需的一切。
理解 MVC 模式是理解 Rails 的关键。MVC 将您的应用程序分为三个层:模型、视图和控制器,每个层都有特定的职责。
模型层¶ ↑
模型层 代表领域模型(例如 Account、Product、Person、Post 等),并封装了特定于您应用程序的业务逻辑。在 Rails 中,数据库驱动的模型类继承自 ActiveRecord::Base。 Active Record 允许您将数据库行的数据呈现为对象,并用业务逻辑方法来丰富这些数据对象。尽管大多数 Rails 模型都由数据库支持,但模型也可以是普通的 Ruby 类,或者实现 Active Model 模块提供的接口集。
视图层¶ ↑
视图层 由“模板”组成,这些模板负责提供应用程序资源的适当表示。模板可以采用多种格式,但大多数视图模板是带有嵌入式 Ruby 代码的 HTML(ERB 文件)。视图通常被渲染以生成控制器响应或生成电子邮件正文。在 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,一个用于将 WebSockets 集成到 Rails 应用程序中的框架
-
Active Storage,一个用于将云端和本地文件附加到 Rails 应用程序的库
-
Action Text,一个用于处理富文本内容的库
-
Active Support,一组对 Rails 有用的实用类和标准库扩展,也可独立于 Rails 使用
入门¶ ↑
-
如果还没有安装 Rails,请在命令行中安装
$ gem install rails
-
在命令行中,创建一个新的 Rails 应用程序
$ rails new myapp
其中“myapp”是应用程序的名称。
-
切换到
myapp目录并启动 Web 服务器$ cd myapp $ bin/rails server
运行
--help或-h获取选项。 -
访问
https://:3000,您将看到显示您的 Rails 和 Ruby 版本的 Rails 启动屏幕。 -
遵循指南开始开发您的应用程序。您可能会发现以下资源很有用
贡献¶ ↑
我们鼓励您为 Ruby on Rails 做贡献!请查看 Ruby on Rails 贡献指南 以获取如何操作的说明。 加入我们!
尝试报告 Rails 中可能存在的安全漏洞?请查看我们的 安全策略 以获取如何操作的说明。
Rails 及其子项目的代码库、问题跟踪器、聊天室和邮件列表中与所有人互动的人员都应遵守 Rails 的 行为准则。
许可证¶ ↑
Ruby on Rails 以 MIT 许可证 发布。