無効なチェンジセットを返そうとしています。Poison.EncodeErrorは値をエンコードできません:{"has already taken"、[]}
conn
|> put_status(422)
|> put_view(Elemental.Auth.ErrorView)
|> render("422.json-api", %{data: changeset})
OR
JaSerializer を使用してconn
|> put_status(422)
|> put_view(Elemental.Auth.ErrorView)
|> render(:errors, data: changeset)
を行う場合
私は、これは予想外であった
(Poison.EncodeError) unable to encode value: {"has already been taken", []}
を取得しています。それは早く働いていた。 は私が{:poison, "~> 2.0"},
UPDATE
>> d
%{errors: [shortcode: {"has invalid format", [validation: :format]}]}
iex(11)> Map.replace(d, :errors, [shortcode: Tuple.to_list(shortcode)]) |> Poison.encode
{:error,
{:invalid, {:shortcode, ["has invalid format", [validation: :format]]}}}
明らかに変更セットデータの一部であるタプルをエンコードできません。エンコードできるものに変更する必要があります。 – JustMichael
@JustMichael更新を参照 – user2290820