write first test and let changeset errors return error json in controller

This commit is contained in:
2021-12-02 22:45:39 -05:00
parent 89c2a99283
commit d32dc8c2cb
7 changed files with 148 additions and 13 deletions

View File

@@ -0,0 +1,15 @@
defmodule EntenduWeb.ChangesetView do
use EntenduWeb, :view
def translate_errors(%Ecto.Changeset{} = changeset) do
Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
end
def translate_errors(errors = %{}), do: errors
def render("error.json", %{changeset: changeset}) do
# When encoded, the changeset returns its errors
# as a JSON object. So we just pass it forward.
%{errors: translate_errors(changeset)}
end
end