Forms 如何在Phoenix中为地理自定义类型生成表单

Forms 如何在Phoenix中为地理自定义类型生成表单,forms,elixir,phoenix-framework,geo,Forms,Elixir,Phoenix Framework,Geo,在我的Elixir/Phoenix应用程序中,我有一个地址模型,上面有一个位置字段 该字段是库中的自定义类型,具有以下结构: %Geo.Point{coordinates: {30, -90}, srid: 4326} 我正在寻找一种方法来为我的地址模型生成包含此位置的表单,但我不确定正确的方法是什么 我正在考虑向我的地址模型中添加虚拟字段,如lat和lng,在表单中使用它们,然后在地址.变更集函数中将这些字段“翻译”为%Geo.点 这是正确的方法,还是有更直接的解决方案?如果是这样,如何在变

在我的Elixir/Phoenix应用程序中,我有一个
地址
模型,上面有一个
位置
字段

该字段是库中的自定义类型,具有以下结构:

%Geo.Point{coordinates: {30, -90}, srid: 4326}
我正在寻找一种方法来为我的
地址
模型生成包含此
位置
的表单,但我不确定正确的方法是什么

我正在考虑向我的
地址
模型中添加虚拟字段,如
lat
lng
,在表单中使用它们,然后在
地址.变更集
函数中将这些字段“翻译”为
%Geo.点

这是正确的方法,还是有更直接的解决方案?如果是这样,如何在变更集中做到这一点


非常感谢。

我建议的方法终于奏效了:将
lat
lng
虚拟字段添加到
地址
模型中,然后在
地址
变更集中设置我的
位置
字段的值,使用
放置更改
应该避免用UI污染模式要求。我强烈建议阅读JoséValim的帖子,解释无模式查询


希望有帮助。

这正是虚拟字段的使用案例,因此+1适用于此解决方案。