将Phoenix表单中的“ inputs_form”生成的输入分组

时间:2019-07-04 16:28:53

标签: elixir phoenix-framework

我在项目中有以下关系:A有很多B,C有很多B,因此B在表之间。

在渲染Phoenix.Form以用于表A中的记录时,我想编辑表B中的记录,但是我希望它们可以根据表C中的记录数据进行分组。

当前它是这样呈现的:

<%= inputs_for @d |> IO.inspect(), :record_a, fn f -> %>
  <div id="date">
    <div class="form-group row">
        #magic
    </div>
    <%= link "Remove", to: "#", id: "delete_date", class: "btn btn-danger" %>
  </div>
<% end %>

我想在一个“ #date” div中渲染c_foreign键等于X的所有record_a,在另一“ #date” div中渲染c_foreign_key等于所有的record_b,依此类推。 >

到目前为止,我已经尝试过:

  • 使用many_to_many关系,但是我确实产生了检索重复项的不良行为。将a,b,c视为来自表C的唯一记录,然后根据关系返回[a,a,a,b,b,c]的列表,其中重复项的数量将与记录之间的in的数量匹配(对于我,因为我能够在任何重复数据之间获取数据。)
  • 在ecto模式中使用包含地图的虚拟字段作为渲染的基础。之所以失败,是因为inputs_for提示仅使用关系字段(例如embed_many,has_many等)

我认为我可能对凤凰形式有一些误解:我宁愿不尝试手动呈现该表单(生成名称有点乏味)

0 个答案:

没有答案