put_flash不适用于configure_session(drop:true)

Mat*_*ski 5 elixir phoenix-framework

在我的凤凰项目中,我在控制器中有以下操作,负责注销用户:

  def signout(conn, _params) do
    conn
    |> configure_session(drop: true)
    |> put_flash(:info, "Signed out successfully!")
    |> redirect(to: project_path(conn, :index))
  end
Run Code Online (Sandbox Code Playgroud)

问题是当我使用configure_session(drop: true)flash消息时没有出现在屏幕上.我该如何解决这个问题?

cpj*_*eur 8

clear_session/1而不是configure_session/2.使用:dropon configure_session/2将完全删除会话cookie,并且不会随响应一起发送cookie.

clear_session/1将从会话中删除所有密钥,但保持会话cookie发送到客户端.因此,您可以put_flash在清除会话cookie后将其添加到会话cookie中.