我正在学习 Ruby on Rails。目前我正在本地机器上进行基本开发。rails server当我在终端 (OS X) 中运行时会发生什么?我只是想了解 Rails 架构正在做什么以及运行哪些 Ruby 脚本。
其中一件事rails server是它加载 Rails 应用程序所需的所有依赖项/gems,或者至少将它们设置为稍后在需要时自动加载。这有时称为“引导”或加载“Rails 环境”。当您运行其他 Rails 命令(例如rails console或 )时,也会完成此操作rails runner。
它还启动一个名为 WebRick 的 Web 服务器。Web 服务器是一段 ruby 代码,运行时会将自身绑定到计算机上的端口(默认端口 3000),并开始侦听该端口上传入的 HTTP 请求。
当请求到来时(例如用户从页面加载的 HTTP GET 请求),Web 服务器与 Rails 一起处理该请求。我不确定工作是如何划分的,但是 Web 服务器应该处理较低级别的事情,例如读取 HTTP 标头,而 Rails 应该负责弄清楚将请求路由到哪个控制器和操作(使用您的路由) .rb 文件)。我认为完成这项工作的rails 组件称为action_dispatch,它位于actionpack gem 中。
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |