Lassen Sie uns sagen, ich habe ein Modell Post
welche belongs_to
Category
:Ecto - wie assoc_constraint den gleichen Fehler wie validate_required zurückgeben?
defmodule MyApp.Post do
use MyApp.Web, :model
schema "posts" do
field :title, :string
belongs_to :category, MyApp.Category
end
def changeset(model, params) do
model
|> cast(params, [:title, :category_id)
|> validate_required([:title, :category_id])
|> assoc_constraint(:category)
end
end
Das Problem ist: Wenn ich params nicht category_id
passieren zu, die changeset Fehler Schlüssel ist: category_id
, aber auf assoc_constraint
Ungültigkeits (falls Kategorie isn nicht vorhanden), habe ich category
Schlüssel. Es ist ein bisschen kontraproduktiv für mich - weil das Problem eigentlich das gleiche ist - es gibt keine Kategorie für Post. Wie kann ich damit umgehen?