V
Size: a a a
V
V
V
ДК
K
K
K
K
K
render(conn, ErrorView, "template", [])
V
tryInsertUser
возвращал либо {:ok, user}
либо {:error, "Some error"}
и потом вызвался renderconn |> render(ApiWeb.ErrorView, "error.json", %{status: :error, message: message})
как только изменил тип возврата с {:error, "Some error"}
на {:error, %{message: "Some error"}}
всё заработало, видимо потому, что параметр стал map а не StringK
{:error, %{message: "erorr"}}
{:error, "message"}
а уже в контроллере все это распаковывать и передавать как надо в render
v
V
{:error, "User already exist"}
то есть 2 элемент - строка{:error, text} ->
conn |> render(ApiWeb.ErrorView, "error.json", %{status: :error, message: text})
и ругается на параметр{:error, %{text: "User already exist"}}
и потом делаю {:error, message} ->
conn |> render(ApiWeb.ErrorView, "error.json", %{status: :error, message: message[:text]})
то всё работает нормально, как и должно быть.message[:text]
тоже строка и разницы по-идее быть не должно, тесты пробегают и всё ок и там и тамK
K
K
{:error, "User already exist"}
то есть 2 элемент - строка{:error, text} ->
conn |> render(ApiWeb.ErrorView, "error.json", %{status: :error, message: text})
и ругается на параметр{:error, %{text: "User already exist"}}
и потом делаю {:error, message} ->
conn |> render(ApiWeb.ErrorView, "error.json", %{status: :error, message: message[:text]})
то всё работает нормально, как и должно быть.message[:text]
тоже строка и разницы по-идее быть не должно, тесты пробегают и всё ок и там и тамV
K
{:status => status}
лучше использовать {status: status}
def render("error.json", %{:status => status, :message => message}) do
не сматчится на вызов render(ApiWeb.ErrorView, "error.json", %{message: message})
так как не передан statusK