如何重命名Phoenix.Router生成的默认资源的路径名?

时间:2016-04-22 02:37:02

标签: elixir phoenix-framework

我有一个UsersController,我用它来进行身份验证,而不是用于查看用户个人资料以及什么不是,所以我得到了

/users/new // GET
/users/new // POST
/users/login // GET
/users/login // POST

我想将其重命名为

/auth/register
/auth/register
/auth/login
/auth/login

是否可以通过路由器实现这一目标?

现在我有这样的事情:

resources "/users", UserController, only: [:create, :new]

有没有办法做类似

的事情
resources "/auth", UserController, only: [create: "register", new: "register"] 

或类似的东西。任何信息都会非常感谢。

1 个答案:

答案 0 :(得分:4)

目前无法使用resources,因为Phoenix.Router中的路径生成器中的所有路径都是硬编码的:https://github.com/phoenixframework/phoenix/blob/6350e7052548c939b572dbf6d5556c88bed4212d/lib/phoenix/router.ex#L208-L233

您必须手动创建路线:

get "/users/register", UserController, :new
post "/users/register", UserController, :create