2

当我尝试运行mix deps.getmix deps.compile出现此错误时:

== Compilation error on file lib/phoenix_ecto/html.ex ==
** (CompileError) lib/phoenix_ecto/html.ex:3: unknown key :model for struct Ecto.Changeset
    (stdlib) lists.erl:1354: :lists.mapfoldl/3

为什么会发生这种情况,我该如何解决?

4

1 回答 1

7

如何解决这个问题:

您需要像这样升级依赖项:

{:ecto, "~> 2.0.4"},
{:phoenix_ecto, "~> 3.0.1"},
{:phoenix_html, "~> 2.6.2"},

然后运行mix clean --all,然后mix deps.get

为什么会这样:

此错误来自您的phoenix_ecto依赖项落后于您的ecto依赖项。在ecto v2.0.0中,changeset.model成为changeset.data.

第三行的代码phoenix_ecto仍在使用model

def to_form(%Ecto.Changeset{model: model, params: params} = changeset, opts) do

这次提交中,phoenix_ecto被升级为支持新版本的ecto.

于 2016-08-14T19:49:11.687 回答