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
Elixir 如何在phoenix框架中使用scrivener删除表单请求后重定向回当前页面_Elixir_Phoenix Framework - Fatal编程技术网

Elixir 如何在phoenix框架中使用scrivener删除表单请求后重定向回当前页面

Elixir 如何在phoenix框架中使用scrivener删除表单请求后重定向回当前页面,elixir,phoenix-framework,Elixir,Phoenix Framework,我在phoenix框架中使用scrivener_-Exto和scrivener_html。 我有一个联系人名单,里面有300个联系人。 当我在第6页中单击“删除联系人”时,在提交删除后,我重定向到联系人列表的第一页。 删除后,我想留在当前页面(如第6页)。我该怎么做 我试图从删除控制器获取参数信息,但它没有我尝试的页面信息(查询参数) 但它返回“” 这里是person\u controller.ex中的删除操作 def action(conn, _) do user = conn.a

我在phoenix框架中使用scrivener_-Exto和scrivener_html。 我有一个联系人名单,里面有300个联系人。 当我在第6页中单击“删除联系人”时,在提交删除后,我重定向到联系人列表的第一页。 删除后,我想留在当前页面(如第6页)。我该怎么做

我试图从删除控制器获取参数信息,但它没有我尝试的页面信息(查询参数)

但它返回“” 这里是person\u controller.ex中的删除操作

  def action(conn, _) do
    user = conn.assigns.current_user
    phonebook = Contact.get_phonebook!(conn.params["phonebook_id"], user.id)
    arg_list = [conn, conn.params, phonebook]
    apply(__MODULE__, action_name(conn), arg_list)
  end

  def delete(conn, %{"id" => id}, phonebook) do
    person = Contact.get_person!(id, phonebook.id)
    {:ok, _person} = Contact.delete_person(person)

    conn
    |> put_flash(:info, "Contact deleted successfully.")
    |> redirect(to: phonebook_path(conn, :show, phonebook))
  end
模板中

<%= button to: phonebook_person_path(@conn, :delete, @phonebook.id, person.id), method: "delete", data: [confirm: "Are you sure?"], class: "btn btn-danger" do %><i class="material-icons icon-button">close</i><% end %>
关闭

您可以在模板中再次传递页码:

<%= button to: phonebook_path(@conn, :delete, phonebook.id, person.id, page: @conn.params["page"]) %>

您可以发布有关删除操作和调用该操作的联系人列表操作的代码/详细信息吗?@Sheharyar我编辑了postAs作为旁注,您的
conn.params
是多余的。该方法的第二个参数是
params
map。您也不应该使用apply,而是直接在此处调用另一个方法。谢谢它解决了我的问题。。我只是从其他教程中复制了动作函数,我不知道它到底在做什么。我试图查找有关操作的文档,但找不到。你能给我一个行动功能的链接吗?为什么我不应该使用,还有关于conn.params.The是一个很好的开始的地方。
<%= button to: phonebook_path(@conn, :delete, phonebook.id, person.id, page: @conn.params["page"]) %>
conn
|> put_flash(:info, "Contact deleted successfully")
|> redirect(to: phonebook_path(conn, :show, phonebook, page: conn.params["page"]))