我正在尝试在ecto中使用has_many :through关系,以实现User模型和Group模型之间的许多关系。

我只能在网上找到的唯一信息是与JoséValim here在一篇帖子中嵌套的属性有关的(顺便说一句,这非常好)。

由于组已经存在于系统中,因此我希望进行多选输入。我在这样做时遇到了几个问题。我不认为可以直接在变更集中分配groups关联,因为每次尝试这样做都会出错。我的下一个想法是手动完成工作(查找,删除和插入GroupMembership记录),但是我不确定这是否是正确的选择,因此想首先获得一些建议。

由于代码示例有很多行,因此我做了一个要点here

如果希望我直接将其发布在此问题中,我当然可以做到。

感谢您提供的所有帮助!

最佳答案

不幸的是,Ecto 1.0不支持很多。这意味着您将需要接收ID并为要与用户关联的每个组手动建立中间关联。我们希望在将来的版本中使此操作变得更容易。

编辑:Ecto 2.0支持many_to_many。

关于elixir - Ecto has_many :through in form,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33127960/

10-13 02:06