路由在Rails中的工作方式

asdfkjasdfjk

在我的路线文件中,我有一些如下所示的路线。这是什么意思?我查看了Rails的路线指南,但找不到=>和foo的解释:'bar'

get '/clients/:status' => 'clients#index', foo: 'bar'

请解释一下这是什么意思?

唐纳

首先,我假设您的Web服务器在host和port上运行localhost:3000但是那部分并不重要-无论将主机请求发送到Rails的主机和端口都是一样的。

get '/clients/:status' => 'clients#index', foo: 'bar'

如果您不熟悉Ruby语法糖,则等效于:

get({'/clients/:status' => 'clients#index', :foo => 'bar'})

从这里开始,让我将其细分:

  • get意味着该路由仅适用于“ GET” HTTP请求。
  • '/clients/:status'表示将此路由应用于任何字符串http://localhost:3000/clients/:status在哪里的请求:status
  • => 'clients#index'告诉Rails应该调用ClientsControllerindex方法中的代码
  • :foo => 'bar'在您想做的任何事情中(可能是更有意义的)(如vee所述),但在这种情况下(我认为),它将作为params哈希值添加到ClientsController sindex`方法中可访问哈希值中

有关更多信息,请查看《 Rails》中的“路由”指南。这是最好的Rails文档之一,恕我直言:

http://guides.rubyonrails.org/routing.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章