2

実行しようとすると、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

なぜこれが起こっているのですか、どうすれば修正できますか?

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依存関係が依存関係の背後にあるために発生しますectoecto v2.0.0では、 にchangeset.modelなりましchangeset.dataた。

のコードphoenix_ectoはまだmodel3 行目で使用されています。

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

このコミットphoenix_ectoは、 が の新しいバージョンをサポートするようにアップグレードされましたecto

于 2016-08-14T19:49:11.687 に答える