gpt4 book ai didi

elixir - 输入无效后如何重定向回上一页

转载 作者:行者123 更新时间:2023-12-04 18:02:57 25 4
gpt4 key购买 nike

我目前在 Controller 帮助模块中有以下代码。它允许我通过抓取 conn 的引荐来源网址重定向回上一页。这样做的问题是,如果表单上的输入无效,例如,conn 的引荐来源网址被重置为当前页面。

  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

如何将引荐来源网址保持到正确的上一页,以便即使出现无效输入之类的情况也可以使用它进行重定向?

最佳答案

有一个 discussion in phoenix issues关于这个话题,这导致了fancy small library您可能希望将其包含到您的项目中并像这样使用:

def redirect_back(conn, alternative \\ "/") do
conn |> NavigationHistory.last_path(default: alternative)
end

或以任何其他方式,在它的自述文件/帮助中描述。

关于elixir - 输入无效后如何重定向回上一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40006176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com