如何使用Phoenix framework Router中的资源更改参数名称

NoD*_*ame 5 elixir phoenix-framework

有没有选择这个 - >

resources "users", MyApp.UserController
Run Code Online (Sandbox Code Playgroud)

生成参数名称不是:id?的路径?

Len*_*ran 18

使用resources/4宏中param参数:

resources "users", MyApp.UserController, param: "name"
Run Code Online (Sandbox Code Playgroud)

这将生成以下路由:

  • GET/users =>:index
  • GET/users/new =>:new
  • POST/users =>:create
  • GET/users /:name =>:show
  • GET/users /:name/edit =>:编辑
  • PATCH/users /:name =>:update
  • PUT/users /:name =>:update
  • DELETE/users /:name =>:delete

以下是资源的其他选项:

该宏接受一组选项:

:only - 生成路由的操作列表,例如:[:show,:edit]

:except - 从中​​排除生成的路由的操作列表,例如:[:delete]

:param - 此资源的参数名称,默认为"id"

:name - 此资源的前缀.这用于指定的帮助程序,以及嵌套资源中参数的前缀.默认值是从控制器名称自动派生的,即UserController将具有名称"user"

:as - 专门配置命名助手

:singleton - 定义客户端查找的单例资源的路由,而不引用ID.请阅读下面的更多信息