She*_*yar 8 elixir phoenix-framework
我正在阅读凤凰城会议指南.它很好地解释了我如何使用put_session以后使用和获取值来将数据绑定到会话,get_session但它没有告诉我如何删除用户的会话.
从指南:
defmodule HelloPhoenix.PageController do
use Phoenix.Controller
def index(conn, _params) do
conn = put_session(conn, :message, "new stuff we just set in the session")
message = get_session(conn, :message)
text conn, message
end
end
Run Code Online (Sandbox Code Playgroud)
She*_*yar 12
在Plug Docs中找到它:
清除整个会话.
此功能从会话中删除每个密钥,清除会话.
请注意,即使使用clear_session/1,会话仍会发送到客户端.如果应该有效地删除会话,则应使用configure_session/2,并将:drop选项设置为true.
你可以把这样的东西放在你的SessionsController:
def delete(conn, _) do
conn
|> clear_session
|> redirect to: page_path(conn, :index)
end
Run Code Online (Sandbox Code Playgroud)
并在你的网站上添加一个路由web/router.ex.
我认为你正在寻找的是configure_session:
Plug.Conn.configure_session(conn, drop: true)
Run Code Online (Sandbox Code Playgroud)