【发布时间】:2017-10-31 19:11:42
【问题描述】:
我正在尝试返回无效的变更集。
什么时候做
conn
|> put_status(422)
|> put_view(Elemental.Auth.ErrorView)
|> render("422.json-api", %{data: changeset})
或
conn
|> put_status(422)
|> put_view(Elemental.Auth.ErrorView)
|> render(:errors, data: changeset)
使用 JaSerializer 我得到了
(Poison.EncodeError) unable to encode value: {"has already been taken", []}
这是出乎意料的。它早些时候工作。
我有{:poison, "~> 2.0"},
更新
>> 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 查看更新
标签: elixir phoenix-framework elixir-poison