Slide 12
Slide 12 text
Anatomy of a Changeset
iex(3)> c = Ecto.Changeset.cast(%B{a: 0}, %{a: 1, b: "Lonestar", c: 3.0},
[:a, :b])
#Ecto.Changeset<
action: nil,
changes: %{a: 1, b: "Lonestar"},
errors: [],
data: #B<>,
valid?: true
>
iex(4)> inspect c, structs: false
"%{__struct__: Ecto.Changeset,
action: nil, changes: %{a: 1, b: \"Lonestar\"},
constraints: [], empty_values: [\"\"],
errors: [], filters: %{},
prepare: [], repo: nil,
repo_opts: [], required: [],
valid?: true, validations: []
data: %{__struct__: B, a: 0, b: nil, c: nil, id: nil},
params: %{\"a\" => 1, \"b\" => \"Lonestar\", \"c\" => 3.0},
types: %{a: :integer, b: :string, c: :float, id: :binary_id},
}"