我想知道 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/