我希望能够通过:meta
phoenix 存在的地图传递用户元数据,以便从 JavaScript 端访问它。更具体地说,我希望能够推送图像文件路径(字符串)并将它们与我的存在列表中的每个用户相关联。文档给出了这个示例,用于覆盖 fetch/2 函数以将用户模型数据添加到:meta
地图中:
def fetch(_topic, entries) do
query =
from u in User,
where: u.id in ^Map.keys(entries),
select: {u.id, u}
users = query |> Repo.all |> Enum.into(%{})
for {key, %{metas: metas}} <- entries, into: %{} do
{key, %{metas: metas, user: users[key]}}
end
end
但是,当我对我的用户模型进行适当的更改时,我会收到有关变量 u 和 from/2 函数以及cannot use ^Map.keys(entries) outside of match clauses
.
我去寻找尝试做类似事情的人的例子,但在 github 上找不到与我在这里尝试的类似的东西。
任何人都知道如何重新构建 fetch/2 函数以使其正常工作?我有一个包含 3 个字段、电子邮件、密码和图标/头像图像的基本用户模型。