如何使用地理库创建有效的Ecto模型变更集?

疏松

我正在尝试使用Geo库通过Phoenix模型更改集存储Geo.Point。我的参数是:{coordinates: [49.44, 17.87]}或更喜欢的是{coordinates: {latitude: 49.44, longitude: 17.87}}

在IEX控制台中,我尝试过:

iex(5)> changeset = Place.changeset(%Place{}, %{coordinates: [49.44, 17.87]})
%Ecto.Changeset{action: nil, changes: %{}, constraints: [],
 errors: [coordinates: "is invalid"], filters: %{}
 model: %Myapp.Place{__meta__: #Ecto.Schema.Metadata<:built>,
  coordinates: nil, id: nil, inserted_at: nil, updated_at: nil}, optional: [],
 opts: [], params: %{"coordinates" => [49.445614899999995, 17.875574099999998]},
 repo: nil, required: [:coordinates],

所有其他尝试均以Poison.Parser错误结束。

应该如何从客户端看参数来创建有效的变更集?

模型:

defmodule MyApp.Place do
  use MyApp.Web, :model

  schema "place" do
    field :coordinates, Geo.Point

    timestamps
  end

  @required_fields ~w(coordinates)
  @optional_fields ~w()

  def changeset(model, params \\ :empty) do
    model
    |> cast(params, @required_fields, @optional_fields)
  end
end
气体

根据对该库的测试:

https://github.com/bryanjos/geo/blob/351ee6c4f8ed24541c9c2908f615e7b0a238f010/test/geo/ecto_test.exs#L100

您需要将Geo.Point传递给您的changeset函数:

changeset = Place.changeset(%Place{}, %{coordinates: %Geo.Point{coordinates: {49.44, 17.87}})

您可以在[docs]中阅读有关自定义ecto类型的更多信息。(https://hexdocs.pm/ecto/Ecto.Type.html#content

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用地理库创建有效的Ecto模型变更集?

来自分类Dev

如何使用asp.net在sql中创建有效的数据库设计?

来自分类Dev

如何从字符串创建有效的MYSql数据库名称?

来自分类Dev

如何从字符串创建有效的MYSql数据库名称?

来自分类Dev

如何从ALAssetRepresentation创建有效的CGImageSourceRef?

来自分类Dev

使用内置函数从整数创建有效时间

来自分类Dev

使用for循环创建有效的json数据

来自分类Dev

使用UNION创建有效的查询

来自分类Dev

如何使用函数为jqGrid editoptions值创建有效的字符串?

来自分类Dev

如何使用PowerShell创建有效的空JSON数组?

来自分类Dev

如何使用Java从RGB像素值创建有效图像

来自分类Dev

如何使用PowerShell创建有效的空JSON数组?

来自分类Dev

无法创建有效的 URL

来自分类Dev

从数据库从数据库创建有效的JSON

来自分类Dev

黑莓没有创建有效的sqlite数据库

来自分类Dev

如何在Powershell中使用Invoke-WebRequest重新创建有效的CURL命令

来自分类Dev

如何在没有控制器的情况下创建有效的AuthenticationManager?

来自分类Dev

在执行简单的LEFT JOIN时,如何创建有效的DQL语句以匹配有效的SQL?

来自分类Dev

如何从字符串创建有效的DateTime对象

来自分类Dev

如何在C中创建有效的选取框函数

来自分类Dev

如何创建有效的无限循环挥动文字动画?

来自分类Dev

如何用多个无线电输入创建有效的表格

来自分类Dev

如何在不检查sy-subrc的情况下创建有效的引用?

来自分类Dev

基于类对象列表,如何创建有效属性名称列表?

来自分类Dev

如何按功能创建有效的分组而不突变?

来自分类Dev

如何在C中创建有效的选取框函数

来自分类Dev

如何为数字签名创建有效的公钥和私钥?

来自分类Dev

如何在广告资源中创建有效的广告位?

来自分类Dev

如何在 SuiteScript 2.0 中创建有效的 Zip 文件

Related 相关文章

  1. 1

    如何使用地理库创建有效的Ecto模型变更集?

  2. 2

    如何使用asp.net在sql中创建有效的数据库设计?

  3. 3

    如何从字符串创建有效的MYSql数据库名称?

  4. 4

    如何从字符串创建有效的MYSql数据库名称?

  5. 5

    如何从ALAssetRepresentation创建有效的CGImageSourceRef?

  6. 6

    使用内置函数从整数创建有效时间

  7. 7

    使用for循环创建有效的json数据

  8. 8

    使用UNION创建有效的查询

  9. 9

    如何使用函数为jqGrid editoptions值创建有效的字符串?

  10. 10

    如何使用PowerShell创建有效的空JSON数组?

  11. 11

    如何使用Java从RGB像素值创建有效图像

  12. 12

    如何使用PowerShell创建有效的空JSON数组?

  13. 13

    无法创建有效的 URL

  14. 14

    从数据库从数据库创建有效的JSON

  15. 15

    黑莓没有创建有效的sqlite数据库

  16. 16

    如何在Powershell中使用Invoke-WebRequest重新创建有效的CURL命令

  17. 17

    如何在没有控制器的情况下创建有效的AuthenticationManager?

  18. 18

    在执行简单的LEFT JOIN时,如何创建有效的DQL语句以匹配有效的SQL?

  19. 19

    如何从字符串创建有效的DateTime对象

  20. 20

    如何在C中创建有效的选取框函数

  21. 21

    如何创建有效的无限循环挥动文字动画?

  22. 22

    如何用多个无线电输入创建有效的表格

  23. 23

    如何在不检查sy-subrc的情况下创建有效的引用?

  24. 24

    基于类对象列表,如何创建有效属性名称列表?

  25. 25

    如何按功能创建有效的分组而不突变?

  26. 26

    如何在C中创建有效的选取框函数

  27. 27

    如何为数字签名创建有效的公钥和私钥?

  28. 28

    如何在广告资源中创建有效的广告位?

  29. 29

    如何在 SuiteScript 2.0 中创建有效的 Zip 文件

热门标签

归档