elixir - elixir phoenix - put_flash/3 在插件中
问题描述
我创建了一个来检查用户是否已经创建了配置文件,如果他们还没有配置文件,则将他们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
吗?
解决方案
控制器只是另一个插头。这不是一个超级常见的用例——您可以在如何实现该行为方面留有余地。插件/中间件似乎是一个干净的解决方案。从本质上讲,它与您看到的条件重定向并没有什么不同,条件重定向取决于用户是否登录。
推荐阅读
- java - 为 java 构建带有额外模块的 opencv 4.5.0
- docker - Docker - 在 dockerfile 中使用 curl
- sql - 在oracle sql中获取每个月的累计总和
- javascript - 如何从其他数组生成基于数组索引的交集(数组或对象类型)?
- linux - 交叉编译引用其他符号链接的库的 c 应用程序库
- python - 将熊猫数据框保存在动态创建的文件夹中
- python - 如何将一列拆分为逗号分隔的字符串?
- javascript - JS 迷你函数
- jquery - 如何从 MEDIA_ROOT 获取路径以将其保存为模型中的字符串?
- c - 从函数返回后,条件跳转或移动取决于未初始化的值