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)??