跳至内容 跳至搜索

欢迎来到 Rails

什么是 Rails?

Rails 是一个 Web 应用程序框架,它包含了根据 模型-视图-控制器 (MVC) 模式创建数据库驱动的 Web 应用程序所需的一切。

理解 MVC 模式是理解 Rails 的关键。MVC 将您的应用程序分为三个层:模型、视图和控制器,每个层都有特定的职责。

模型层

模型层 代表领域模型(例如 Account、Product、Person、Post 等),并封装了特定于您应用程序的业务逻辑。在 Rails 中,数据库驱动的模型类继承自 ActiveRecord::BaseActive 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 RecordActive ModelAction PackAction View 都可以独立于 Rails 使用。

此外,Rails 还提供了

  • Action Mailer,一个用于生成和发送电子邮件的库

  • Action Mailbox,一个用于在 Rails 应用程序中接收电子邮件的库

  • Active Job,一个用于声明作业并在各种队列后端上运行它们的框架

  • Action Cable,一个用于将 WebSockets 集成到 Rails 应用程序中的框架

  • Active Storage,一个用于将云端和本地文件附加到 Rails 应用程序的库

  • Action Text,一个用于处理富文本内容的库

  • Active Support,一组对 Rails 有用的实用类和标准库扩展,也可独立于 Rails 使用

入门

  1. 如果还没有安装 Rails,请在命令行中安装

    $ gem install rails
  2. 在命令行中,创建一个新的 Rails 应用程序

    $ rails new myapp

    其中“myapp”是应用程序的名称。

  3. 切换到 myapp 目录并启动 Web 服务器

    $ cd myapp
    $ bin/rails server

    运行 --help-h 获取选项。

  4. 访问 https://:3000,您将看到显示您的 Rails 和 Ruby 版本的 Rails 启动屏幕。

  5. 遵循指南开始开发您的应用程序。您可能会发现以下资源很有用

贡献

我们鼓励您为 Ruby on Rails 做贡献!请查看 Ruby on Rails 贡献指南 以获取如何操作的说明。 加入我们!

尝试报告 Rails 中可能存在的安全漏洞?请查看我们的 安全策略 以获取如何操作的说明。

Rails 及其子项目的代码库、问题跟踪器、聊天室和邮件列表中与所有人互动的人员都应遵守 Rails 的 行为准则

许可证

Ruby on Rails 以 MIT 许可证 发布。