欢迎使用 Rails
Rails 是什么?
Rails 是一个 Web 应用程序框架,它包含了根据 模型-视图-控制器 (MVC) 模式创建基于数据库的 Web 应用程序所需的一切。
理解 MVC 模式是理解 Rails 的关键。MVC 将你的 应用程序分为三层:模型、视图和控制器,每层都有特定的职责。
模型层
模型层 表示领域模型(例如 Account、Product、
Person、Post 等),并封装了特定于
你应用程序的业务逻辑。在 Rails 中,基于数据库的模型类继承自
ActiveRecord::Base。 Active Record 允许你将来自
数据库行的数据呈现为对象,并用业务逻辑
方法丰富这些数据对象。
虽然大多数 Rails 模型由数据库支持,但模型也可以是普通的
Ruby 类,或者是实现了由
Active Model 模块提供的一组接口的 Ruby 类。
视图层
视图层 由“模板”组成,负责提供 你应用程序资源的适当表示。模板可以 采用多种格式,但大多数视图模板是嵌入 Ruby 代码的 HTML(ERB 文件)。视图通常被渲染以生成控制器响应 或生成电子邮件的主体。在 Rails 中,视图生成由 Action View 处理。
控制器层
Controller 层 负责处理传入的 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查看选项。 -
访问
http://localhost:3000,您将看到 Rails 启动屏幕,显示您的 Rails 和 Ruby 版本。 -
按照指南开始开发您的应用程序。您可能会发现以下资源很有用:
贡献
我们鼓励您为 Ruby on Rails 做出贡献!请查阅 贡献 Ruby on Rails 指南 了解如何进行。加入我们!
想要报告 Rails 中可能存在的安全漏洞?请 查阅我们的安全策略 了解如何进行。
所有在 Rails 及其子项目的代码库、问题跟踪器、聊天室和邮件列表中互动的人员,都期望遵守 Rails 行为准则。
许可证
Ruby on Rails 根据 MIT 许可证 发布。