Joe*_*cca 5 elixir phoenix-framework
我目前在控制器助手模块中有以下代码.它允许我通过抓住conn的引用来重定向回到上一页.这样做的问题是,如果表单上的输入无效,例如,conn的referrer将重置为当前页面.
def redirect_back(conn, alternative \\ "/") do
path = conn
|> get_req_header("referer")
|> referrer
path || alternative
end
defp referrer([]), do: nil
defp referrer([h|_]), do: h
Run Code Online (Sandbox Code Playgroud)
如何将引用者保存到正确的上一页,以便即使出现类似无效输入的内容,也可以使用它进行重定向?
有一个在凤凰问题的讨论的话题,这导致了花哨的小型图书馆,你可能要包括到您的项目,并使用这样的:
def redirect_back(conn, alternative \\ "/") do
conn |> NavigationHistory.last_path(default: alternative)
end
Run Code Online (Sandbox Code Playgroud)
或以任何其他方式,在其自述文件/帮助中描述.
| 归档时间: |
|
| 查看次数: |
1489 次 |
| 最近记录: |