Elixir 如何在不影响子资源的情况下使用Phoenix framework Router中的资源更改参数名称
我有这些资源。它为我提供如下路径:/api/v1/rooms/:\u room\u id/users/:user\u id 如何删除“房间id”之前的下划线 这样的分离是好的解决方案: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
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