Eva*_*rad 2 elixir-mix elixir ecto phoenix-framework
当我尝试运行mix deps.get或mix 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
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我该如何解决?
您需要升级您的依赖项,如下所示:
{:ecto, "~> 2.0.4"},
{:phoenix_ecto, "~> 3.0.1"},
{:phoenix_html, "~> 2.6.2"},
Run Code Online (Sandbox Code Playgroud)
然后运行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
Run Code Online (Sandbox Code Playgroud)
在此提交中,phoenix_ecto已升级为支持新版本ecto.