Elixir 以表格格式显示具有关联的表格中的数据

Elixir 以表格格式显示具有关联的表格中的数据,elixir,phoenix-framework,Elixir,Phoenix Framework,我有三张桌子,工作,注册和技能。关联是指一个作业有多个注册,并且注册属于一个作业。注册有很多技能,技能属于工作。只要一个人没有两次相同的技能,我的db就可以携带多达5项类似技能 问题: 我试图以如下表格格式呈现一个人的技能: 我在模板dashboard.ex上根据应聘者申请的职位对他们进行分组,如下所示 <%= for {k,v} <- sort_by_job() do %> <tr> <td rowspan="8"><%= k %&

我有三张桌子,工作,注册和技能。关联是指一个作业有多个注册,并且注册属于一个作业。注册有很多技能,技能属于工作。只要一个人没有两次相同的技能,我的db就可以携带多达5项类似技能

问题: 我试图以如下表格格式呈现一个人的技能:

我在模板
dashboard.ex
上根据应聘者申请的职位对他们进行分组,如下所示

<%= for {k,v} <- sort_by_job() do %>
  <tr>
    <td rowspan="8"><%= k %></td>
    <%= Enum.map(v, fn applicant -> %>
    <td>
      <tr>
        <td><%= applicant.name %></td>
        <td><%= applicant.email %></td>
        <td><%= applicant.website %></td>
        <td><%= applicant.cover_letter %></td>
      </tr>
    </td>
      <% end) %>

正如我之前所说,技能在另一张表上,它具有注册id,以便能够知道哪个技能属于谁,如何根据表格式中的每个人呈现技能?

您的“申请者”与您的
注册是否相同

您没有包括实际的模式,但这应该可以让您大致了解:

您可以预加载属于应用程序的技能

Application
|> Repo.all()
|> Repo.preload(:skills)
在您看来,您可以处理如何在表中显示技能。如果您只想让它们以逗号分隔,可以执行以下操作

applicant.skills
|> Enum.map(skill.name)
|> Enum.join(",")


谢谢实际上我已经解决了这个问题,我也有同样的想法,但既然你不能在elixir I
end)%%>

applicant.skills
|> Enum.map(skill.name)
|> Enum.join(",")