Elixir 如何在不影响子资源的情况下使用Phoenix framework Router中的资源更改参数名称

Elixir 如何在不影响子资源的情况下使用Phoenix framework Router中的资源更改参数名称,elixir,phoenix-framework,Elixir,Phoenix Framework,我有这些资源。它为我提供如下路径:/api/v1/rooms/:\u room\u id/users/:user\u id 如何删除“房间id”之前的下划线 这样的分离是好的解决方案: resources "/rooms", RoomController, only: [:show, :update, :delete], param: "room_id", name: "" do resources "/u

我有这些资源。它为我提供如下路径:/api/v1/rooms/:\u room\u id/users/:user\u id

如何删除“房间id”之前的下划线

这样的分离是好的解决方案:

resources "/rooms", RoomController, only: [:show, :update, :delete], param: "room_id", name: "" do
          resources "/users", UserController, except: [:create], param: "user_id"
          resources "/notes", NoteController, except: [:delete, :update], param: "note_id"
          resources "/messages", MessageController, except: [:delete, :update], param: "message_id"
end
编辑:

我希望每个资源都有:room\u id,包括room:

resources "/rooms", RoomController, only: [:show, :update, :delete], param: "room_id"

resources "/rooms", RoomController, only: [] do
    resources "/users", UserController, except: [:create], param: "user_id"
    resources "/notes", NoteController, except: [:delete, :update], param: "note_id"
    resources "/messages", MessageController, except: [:delete, :update], param: "message_id"
end
如果我使用没有参数的资源,那么我将有:

DELETE /api/v1/rooms/:room_id/
GET /api/v1/rooms/:room_id/users/:user_id
如果我使用带有参数(“房间id”)的资源:

选项
名称:“
将字符串
与分隔下划线一起添加为参数的前缀。如果您删除
名称:“
选项,您应该很好


这是文档

在本例中,我将使用/api/v1/rooms/:room\u room\u id/users/:user\u idies,没错。最好的方法是删除
name
param
,并接受在
UserController
中调用
:room\u id
RoomController
中调用
:id
的输入。这对你不管用吗?只是想知道我是否可以为任何端点提供:room\u id。我想我不能:)谢谢你的回答!
DELETE /api/v1/rooms/:id/
GET /api/v1/rooms/:room_id/users/:user_id
DELETE /api/v1/rooms/:room_room_id/
GET /api/v1/rooms/:room_id/users/:user_id