我对基本的 Rails 概念有相当不错的掌握,如 ActiveRecord、路由、迁移等。我很难理解的一件事是 ActionDispatch。我找不到它是什么的简单英语描述(或实际上任何描述)。那是什么?
问问题
9319 次
3 回答
22
于 2017-01-11T11:17:17.057 回答
12
Action Dispatch 实际上只是一堆具有以下职责的代码。它解析有关 Web 请求的信息,处理用户定义的路由,并执行与 HTTP 相关的高级处理,例如 MIME 类型协商,解码 POST、PATCH 或 PUT 正文中的参数,处理 HTTP 缓存逻辑、cookie 和会话。
于 2016-05-21T05:29:40.540 回答
0
在我看来,亚历克斯泰勒给出了最好的解释Dispatcher
:
Dispatcher 是一个小类,它负责实例化控制器并传递我们的请求以及一个空的响应对象。当为请求识别合适的路由时调用它。它不知道请求是如何到达它家门口的,但它知道当它看到我们的请求时该怎么做:实例化 UsersController 并将我们的请求交给它。正如我们将看到的,它充当我们控制器的对象工厂,无需我们在类本身之外的任何地方声明我们的控制器类。
于 2022-02-19T21:40:53.597 回答