【问题标题】:elixir phoenix - put_flash/3 in the plugelixir phoenix - put_flash/3 在插件中
【发布时间】:2021-02-16 20:21:28
【问题描述】:

我创建了一个plug 来检查用户是否已经创建了个人资料,如果他们还没有个人资料,则将他们重定向到/profiles/new 页面:

Plug.CheckProfile

case profiles do
  nil ->
    conn |> put_flash(:info, "No profile found.") |> redirect(to: "/profiles/new") |> halt()
  profiles ->
    assign(conn, :profiles, profiles)
end

但我在某处读到put_flash 通常用于控制器, 这样做的正确方法是什么?

plug 有替代方案吗?

【问题讨论】:

  • 控制器只是另一个插头。这不是一个超级常见的用例——您可以在如何实现该行为方面留有余地。插件/中间件似乎是一个干净的解决方案。
  • 请将您的评论添加到答案中,以便我接受。谢谢。

标签: elixir plug phoenix-live-view


【解决方案1】:

控制器只是另一个插头。这不是一个超级常见的用例——您可以在如何实现该行为方面留有余地。插件/中间件似乎是一个干净的解决方案。从本质上讲,它与您看到的根据用户是否登录而有所不同的条件重定向并没有什么不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 2016-05-15
    • 2016-02-25
    • 2021-03-16
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多