gpt4 book ai didi

ruby-on-rails - Controller 类在什么时候实例化 Rails 网络应用程序中的 Controller 对象?

转载 作者:数据小太阳 更新时间:2023-10-29 07:43:46 26 4
gpt4 key购买 nike

学习 Rails,我不清楚 Controller 实例化的点,而模型实例化的点在某种程度上是可识别的,例如,当用户在 from 中输入数据并单击提交按钮时,排序导致创建对象模型的触发器。

做了一些研究,我在脑海中想象,当通过浏览器发送 HTTP 请求时,到 Controller 的路由成为从 Controller 类实例化某个 Controller 对象的触发器。

这在某种程度上是正确的吗?

最佳答案

当 HTTP 请求进入您的应用程序服务器(puma、webrick 等)时,请求通过一堆中间件(在 rails gem 中定义),中间件将 HTTP 请求转换为ActionDispatch::Request 类,用于根据 config/routes.rb 中定义的路由定义确定正确的路由以分派(dispatch)到 Rails 应用程序中的适当 Controller 类。

生成的 request 对象然后被分派(dispatch)到相应的 Controller 和操作方法,该方法实例化 Controller 类并在其实例上使用 params 对象的参数调用操作方法(ActionController::Parameters 的实例)。

这只是 Controller 如何实例化的一般概述。请求对象在生成request 对象之前经过一系列中间件类和模块。

如果你想,这里有一篇好文章read it in detail .

关于ruby-on-rails - Controller 类在什么时候实例化 Rails 网络应用程序中的 Controller 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45647562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com