当我们在浏览器中输入 url 并按回车键时,技术上 rails 如何处理请求

How technically rails process the request when we enter url in browser and press enter

我是 rails 的新人。我不明白 rails 如何处理 requestresponse

当我在 rails app 的浏览器中输入 url 并按回车键时。那么任何人都可以详细介绍一下 heppens。

当您输入 URL 时,希望出现您的页面。

  1. DNS 解析后,请求到达 Web 服务器,该服务器询问 Rails 它有什么 url
  2. Rails 首先转到 routes.rb 文件,它获取 URL 并调用相应的 controller 操作。
  3. 控制器使用相关的 model.
  4. 从数据库中获取它需要的任何东西
  5. 使用 controllermodel 获得的数据,它使用各自的 view 来制作一些 HTML.
  6. Rails 打包响应并将其提供给 Web 服务器。 Web 服务器将响应传递给浏览器以在浏览器中显示您的页面。

很好的阅读:

Examining Internals Of Rails Request Response Cycle

简单来说,

Action controllerroutes.rb 的帮助下控制了 request/response 条路线 http://guides.rubyonrails.org/action_controller_overview.html 查看此以了解有关 Action 控制器的详细信息。

当您针对您的应用发出 rails 请求时,

  1. 动作控制器处理请求并将其与routes.rb中的路由匹配。例如当你打 localhost:3000/about_us
  2. 路由与 "/about_us" => "home#about_us" 匹配,它会将您带到家庭控制器的 about_us 操作,而后者又包含将要显示的视图 (view/home/about_us.html.erb)