Dav*_* B. 1 elixir phoenix-framework
我正在尝试创建一个按钮,使给定用户成为管理员。为此,我想为请求创建一个路由post /users/:id/admin
。为了做到这一点,我正在尝试创建一个嵌套资源,如下所示:
resources "/users", UserController, only: [:new, :create, :index] do
resources "/admin", UserController, only: [:post]
end
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时mix phx.routes | grep users
,我只能得到这些路线:
user_path GET /users StorexWeb.UserController :index
user_path GET /users/new StorexWeb.UserController :new
user_path POST /users StorexWeb.UserController :create
Run Code Online (Sandbox Code Playgroud)
好像未声明嵌套资源一样。我的资源声明有什么问题?我该如何解决?
问题在only: [:post]
. 没有这样的操作:post
,所以你最终什么都没有。你可能想要这个:
resources "/users", UserController, only: [:new, :create, :index] do
resources "/admin", UserController, only: [:create]
end
Run Code Online (Sandbox Code Playgroud)
我将在凤凰城打开一个问题,在这些情况下提出,以避免进一步混淆。
归档时间: |
|
查看次数: |
677 次 |
最近记录: |