У меня есть ассоциация, созданная в моделях Ecto в Фениксе. В организации много участников. В методе Edit контроллера OrganizationMember я пытаюсь создать элемент SELECT, который будет содержать все организации на выбор. В определении edit у меня есть следующие две строки:
# organizations = Enum.to_list(from(o in Organization, order_by: o.name, select: [o.name, o.id]))
organizations = from(o in Organization, order_by: o.name, select: {o.name, o.id})
Это моя строка в шаблоне, чтобы показать выбор:
<%= select f, :organization_id, @organizations, prompt: "Choose your organization" %>
Если я оставлю комментарий к первой строке, я получу эту ошибку при выборе шаблона:
протокол Enumerable не реализован для # Ecto.Query
Если я использую первую строку и прокомментирую вторую, я получаю эту ошибку в контроллере:
протокол Enumerable не реализован для # Ecto.Query
Как сделать так, чтобы при выборе правильно отображалось раскрывающееся меню и значения? Кстати, organization_id происходит от этого:
organization_member = Repo.get!(OrganizationMember, id) |> Repo.preload(:organization)
organization_id = organization_member.organization.id