Ecto.Model.Callbacks теперь устарели.
Я пытаюсь добиться того же поведения, что и before_insert
, но безрезультатно! Я даже не могу заставить что-либо вызвать IO.puts("hello")
внутри моего changeset/2
.
Вот что у меня есть:
def changeset(model, params \\ :empty) do
IO.puts "HELLO" # never prints
model
|> cast(params, @required_fields, @optional_fields)
|> put_change(:column_name, "hello")
end
Вместо put_change
я пробовал подставлять change
, cast
и практически все остальное внутри Ecto.Changeset.
Я также пробовал метод без трубопровода, на всякий случай:
chset = cast(model, params, @required_fields, @optional_fields)
put_change(chset, :column_name, "hello")
Конечной целью является смещение inserted_at
строки на новое значение, поэтому простого default: "hello"
на схеме будет недостаточно.
Большое спасибо!
YourModel.changeset
из своего кода? - person Dogbert   schedule 19.05.2016