Ich habe vor kurzem auf die neuesten Versionen von Phoenix und Ecto migriert.Undefined Methode Cast nach Update auf Ecto 2.0
Jetzt habe ich Code eines Modells geändert, nach ecto Changelog
defmodule Spaces.Tag do
use Spaces.Web, :model
#Changed to below
defmodule Spaces.Tag do
use Ecto.Schema
Ich erhalte (CompileError) web/models/tag.ex:23: undefined function cast/4.
Alles, was ich bin fehlt?
Mein mix.exs entsprechenden Code
defp deps do
[{:phoenix, "~> 1.2"},
{:postgrex, ">= 0.0.0"},
{:phoenix_ecto, "~> 3.0"},
{:phoenix_html, "~> 2.6"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:gettext, "~> 0.9"},
{:cowboy, "~> 1.0"},
{:httpoison, "~> 0.8.0"},
{:jsx, "~> 2.8"},
{:scrivener_ecto, "~> 1.0"},
{:phoenix_html_simplified_helpers, "~> 0.4.0"},
{:ex_doc, "~> 0.12.0", only: [:dev]}
]
end
Ich lehnte die Bearbeitung hier, bitte beachten Sie, das ist die 'Modell 'Funktion innerhalb' MyApp.Web', die definiert wird. – Gazler
Sollte mein gesamter Code innerhalb des def-Modells sein? Ich bekomme jetzt ein undefiniertes Funktionsschema. Gibt es ein Tutorial, das diese ganze Sache abdeckt? – coderVishal
Sie müssen noch verwenden 'spaces.Web verwenden,: Modell 'innerhalb von' Spaces.Tag' Das Tutorial ist die Upgrade-Anleitung, die ich oben verlinkt. – Gazler