后
iex -S mix phx.server
我想在 iex 终端做一些快速测试,但有些函数需要 struct %Plug.Conn{} 作为参数,例如我想得到表达式的结果:
MyAppWeb.Router.Helpers.confirmation_url(%Plug.Conn{}, :edit, "12345")
但我有错误:
Phoenix endpoint not found in %{}
有没有一种在控制台中获取 conn struct 的简单方法?
最佳答案
路由器辅助函数接受 conn 或端点模块作为第一个参数。当您想要生成没有连接的 URL 时,可以传递应用程序的端点模块:
MyAppWeb.Router.Helpers.confirmation_url(MyAppWeb.Endpoint, :edit, "12345")
编辑:如果您想创建一个与路由器助手一起使用的虚拟 conn,那么放置
%{phoenix_endpoint: MyAppWeb.Endpoint}
似乎就足够了。 conn.private
中的值从 Phoenix 1.3 开始:conn = %Plug.Conn{private: %{phoenix_endpoint: MyAppWeb.Endpoint}}
MyAppWeb.Router.Helpers.confirmation_url(conn, :edit, "12345")
关于terminal - Phoenix : How to get conn %Plug. Conn{} 在控制台中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45907381/