我想知道 elixir/phoenix 框架的当前 url,我怎么能得到这个?

编辑#1 :

我的 nginx 配置文件:

server {
        client_max_body_size 100M;

        listen  80;

        server_name *.babysittingbordeaux.dev *.babysittingparis.dev

        access_log  /usr/local/var/log/nginx/baby-access.log;
        error_log   /usr/local/var/log/nginx/baby-error.log;


        location / {
            proxy_pass http://127.0.0.1:4000;
        }
}

代码:
Atom.to_string(conn.scheme) <> "://" <> (Enum.into(conn.req_headers, %{}) |> Map.get("host")) <> conn.request_path

该示例返回 http://127.0.0.1:4000/ ,我想得到 http://www.babysittingbordeaux.dev/

我处于开发模式。

最佳答案

如果您只对请求路径感兴趣,您可以使用 conn.request_path ,它包含一个类似 "/users/1" 的值。

要获取包含主机的 URL,您可以使用

MyApp.Router.Helpers.url(conn) <> conn.request_path

这将返回类似 "http://localhost:4000/users/1" 的结果。

关于elixir - 如何在phoenix框架中获取当前url,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37735351/

10-17 01:25