在我的路线文件中,我有一些如下所示的路线。这是什么意思?我查看了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 s
index`方法中可访问的哈希值中。有关更多信息,请查看《 Rails》中的“路由”指南。这是最好的Rails文档之一,恕我直言:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句