我的路由器中有一个users
资源,其中有一个供朋友使用的额外端点,如下所示:
resources "/users", UserController, except: [:create, :delete] do
get "/friends", UserController, :friends
end
这可行,但我朋友的路线是/api/users/:user_id/friends
。我如何将参数重命名为,id
以便我的路线变为/api/users/:id/friends
?
我的路由器中有一个users
资源,其中有一个供朋友使用的额外端点,如下所示:
resources "/users", UserController, except: [:create, :delete] do
get "/friends", UserController, :friends
end
这可行,但我朋友的路线是/api/users/:user_id/friends
。我如何将参数重命名为,id
以便我的路线变为/api/users/:id/friends
?
我不认为在嵌套资源时可以进行更改,因为嵌套资源可能具有带
:id
参数的实体,因此resources
宏会自动在父级前面加上其名称作为前缀,因此:user_id
您应该能够通过使用
scope
而不是嵌套资源来实现您想要的目标: