Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Routing 具有多个ID的Phoenix路由_Routing_Elixir_Phoenix Framework - Fatal编程技术网

Routing 具有多个ID的Phoenix路由

Routing 具有多个ID的Phoenix路由,routing,elixir,phoenix-framework,Routing,Elixir,Phoenix Framework,我有点像 scope "/parent" do get "/", ParentController, :index get "/:id", ParentController, :show patch "/:id", ParentController, :update delete "/:id", ParentController, :remove end 我的父母有孩子,我想添加一个路径来删除孩子,如 delete "/:id/:child_id", ParentControl

我有点像

scope "/parent" do
  get "/", ParentController, :index
  get "/:id", ParentController, :show
  patch "/:id", ParentController, :update
  delete "/:id", ParentController, :remove
end
我的父母有孩子,我想添加一个路径来删除孩子,如

delete "/:id/:child_id", ParentController, :remove_child
我的正常删除控制器信号为

def remove(conn, %{"id" => id}) do
所以

我想应该有用

但是测试呢? 正常删除方式如下所示:

conn = delete conn, parent_path(conn, :remove, parent)
如何在考试中通过孩子的id

conn = delete conn, parent_path(conn, :remove_child, parent, child)??

用上面的代码解决。命名参数成功了。

这不起作用吗?尝试
child.id
而不是
child
?未尝试。没有一个路由具有多个ID的示例。希望这里有人能帮上忙,因为谷歌不起作用。我说“猜猜”,因为我不知道它是否有效。在ASP.MVC中工作,所以我想也应该在凤凰城工作。谢谢,工作了。控制器带有
%{“id”=>id,“child\u id”=>child\u id}
并在测试
child.id
中作为参数生成:)您可以添加一个答案并将其标记为已解决吗?
conn = delete conn, parent_path(conn, :remove_child, parent, child)??