elixir phoenix - put_flash/3 in the plug



我创建了一个plug来检查用户是否已经创建了一个配置文件,并将它们重定向到/profiles/new页面,如果他们还没有一个:

插头。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是否有替代方案?

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

相关内容

最新更新