2016-10-10 48 views
3

在我的Elixir/Phoenix应用程序中,我有一个Address模型,该模型上有一个location字段。如何在凤凰城生成Geo自定义类型的表格

领域是从GeoGeo.Geometry自定义类型,结构如下:

%Geo.Point{coordinates: {30, -90}, srid: 4326} 

我正在寻找一种方式来为我的Address模型的形式,包括这个location,但我米不知道什么是正确的方式来做到这一点。

我在想添加的虚拟域到我的Address模型,如latlng,形式使用它们,然后选择“翻译”在Address.changeset功能这些领域为%Geo.Point

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

非常感谢。

回答

3

我曾建议该法终于摸索:添加latlng虚拟领域的Address模型,然后用put_changes设置在Address变更我location字段的值。

+0

这正是虚拟领域的用例,所以对此解决方案+1。 – tkowal