繁体   English   中英

路径变量如何进入rails中的参数

[英]How does path variable goes to params in rails

我问这个问题是因为我想我对 rails params 的工作原理不太了解。

我想知道路径变量如何进入 rails params 或映射到 rails params 中的键和值。 如果我点击 url localhost:3000/x/y/2 get 'x/y/:id' ,这里 2 将转到带有键 id 的参数:如 params [id: 2]。 怎么做的。 任何人都可以在这里帮助理解它。

URL http://localhost:3000/x/y/2会导致向 Rails 服务器上的端口 3000 发出请求,如下所示:

GET /x/y/2 http/1.1
Host: localhost

服务器接收请求并将其分解为各个部分。

  • 方案:http
  • 版本:1.1
  • 主机:本地主机
  • 端口:3000
  • 路径:/x/y/2
  • 方法:获取

Rails 将路径与您的路线进行比较,并发现它与get '/x/y/:id'匹配。 2 设置为params[:id] 然后它调用路由指定的控制器方法。

如需更多信息,请阅读Rails Routing from the Outside InHTTP 1.1 Request Messages

不知何故,@schwern 的答案是正确的,但实际情况发生在 Rails.application.routes.recognize_path '/account/1', method: :get this will convert your path to {:controller=>"books", :action =>“检查”,:id=>“1”}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM