Top*_*unt 4 elixir phoenix-framework
在编写Phoenix应用程序时,我已经习惯于使用如下语法编写链接:link "My profile", to: Routes.user_url(@conn, :show, user)。最近,当使用LiveView时,我意识到您可以通过此处MyAppWeb.Endpoint而不是@conn此处,并且它将保持相同的状态。因为(我想)大多数Phoenix应用程序只有一个Endpoint模块,所以我有点希望它可以推断出我的默认Endpoint,这样我就不必在每次调用路径/ URL助手时都提供conn / endpoint。这让我想知道为什么Phoenix将这些助手设计为始终需要端点,而不是使用某些已配置的默认端点。
有谁知道为什么路由助手被设计为始终需要conn /端点,并且不允许您配置默认端点?这仅仅是“还没有解决”的问题,还是有一些重要的原因为什么每次都不明确要求conn / endpoint 会带来问题?
连接具有端点之外的其他信息。例如,如果您的应用程序中有两个路由器,其中一个调用另一个,则您需要能够将原始路径组合在一起(script_name出于CGI遗留原因,通常将其称为)。另外,新的API(例如)put_router_uri允许您在连接中存储要在给定请求中使用的基本URI,例如,如果您想为当前登录的用户设置子域,并且此信息不能是全局的。