首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phoenix阻止conn从Liveview重定向

Phoenix阻止conn从Liveview重定向
EN

Stack Overflow用户
提问于 2021-08-11 19:13:41
回答 1查看 130关注 0票数 1

我有一个带有表单的Liveview,用户可以在其中做出几个选择,然后在提交表单时,表单会向标准controller发送一个post请求来处理下载。我在controller :download操作中有一条case语句,它在成功创建下载时发送下载,这很好用。不过,我想不出如何让另一个:error案例不从Liveview重定向过来。

代码语言:javascript
复制
case get_report do
  {:ok, csv} ->
    conn
    |> send_download({:binary, csv}, filename: "test.csv")
  {:error, _msg} ->
    do_something_pub_subby()
    conn
    |> ????
end
EN

回答 1

Stack Overflow用户

发布于 2021-08-12 11:55:59

几个月前我不得不这样做,我最终重定向到了LiveView路由,如下所示:

代码语言:javascript
复制
case get_report do
  {:ok, csv} ->
    conn
    |> send_download({:binary, csv}, filename: "test.csv")
  {:error, _msg} ->
    do_something_pub_subby()
    conn
    |> put_flash(:error, ""unable to download)
    |> redirect(to: Routes.home_index_path(conn, :index))
end

不过,它会变得有点丑陋。我发现自己经常将一些东西分配给conn,以使这类事情能够工作。

你应该看看这个库:https://github.com/karolsluszniak/phoenix_live_controller我自己还没有试过,但我很确定它支持你想要做的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68747720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档