【发布时间】:2016-11-03 08:39:28
【问题描述】:
我们尝试了多种方法,但都产生了不同类型的错误,幸好我现在不记得了。我们可以使用bypass_through 和朋友,直到最近我们需要真正的会话。
这就是我根据Plug 测试得出的结论:
def conn_with_session do
build_conn
|> get("/")
|> recycle
|> Plug.Session.call(Plug.Session.init(store: Plug.ProcessStore, key: "_app_key"))
|> fetch_session
end
Plug.ProcessStore 是从这里复制粘贴的https://github.com/elixir-lang/plug/blob/master/test/test_helper.exs#L6
有没有更方便/直接的方法来做到这一点?
【问题讨论】:
-
我认为这是最短的变种,有already answer。如果使用
conn而不是build_conn,您可能可以省略recycle。这也是assign(conn, :current_user, user)避免会话检查的好解决方案(您可能知道,但以防万一)