Cómo escribir cast decode JSON como si viniera de la base de datos
Al cargar tipos de fecha / hora de la base de datos, Ecto convertirá a un tipo Ecto.DateTime. ¿Cómo se puede aplicar el mismo tipo de conversión al cargar un modelo desde una cadena JSON?
defmodule Rocket.User do
use Rocket.Model
schema "users" do
field :created_at, :datetime
field :name, :string
field :email, :string
field :password, :string
field :timezone, :string
end
end
iex(40)> Poison.decode!(~s({"created_at":"2015-01-21T06:05:10.891Z"}), as: Rocket.User)
%Rocket.User{created_at: "2015-01-21T06:05:10.891Z", email: nil, id: nil,
name: nil, password: nil, timezone: nil}