如何获取Phoenix应用程序的“基本URL”?

时间:2017-07-25 14:09:34

标签: elixir phoenix-framework

当我在本地运行我的Phoenix应用程序时,所有请求的基本URL类似于http://localhost:4000。在制作中,它类似于https://example.com/

我想将此基本URL传递给我的JavaScript。我怎么能得到它?

注意:

  • 我不想查看conn;这是我想在编译或启动期间设置的,而不是在请求时。
  • 我知道我可以查看Application.get_env(:myapp, MyApp.Endpoint)[:url][:host] %,但这不包括方案(httphttps)或端口。如果我必须从几个地方把它拼凑起来,我可能会,但我宁愿不这样做。

2 个答案:

答案 0 :(得分:3)

您可以使用MyApp.Endpoint.url()

该链接指向1.3个文档,因为它将应用程序Endpoint中生成的所有函数记录为回调,但该函数至少从1.2开始可用(我之前没有检查过)

答案 1 :(得分:1)

使用路径助手

哎呀,有一个明显的解决方案。 :)

MyApp.Router.Helpers.page_url(MyApp.Endpoint, :index)

为此使用特定的命名路线感觉有点尴尬,但它有效。不过,我对更加语义化的解决方案持开放态度。

相关问题