1
Ecto.Model.Callbacksは廃止予定です。Ecto:Model.Callbacksなしでチェンジセットにデータを挿入する方法
before_insert
と同じ動作を達成しようとしていますが、役に立たないです!私はchangeset/2
の中にIO.puts("hello")
を誘発するものさえも得られません。
は、ここで私が持っているものです。
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内部の他の実質的にすべてを下塗り試みました。
私も念のため、非配管方法を試してみた:エンド目標は、スキーマにはありません行のinserted_at
新しい値についてのシフト、とても簡単default: "hello"
さ
chset = cast(model, params, @required_fields, @optional_fields)
put_change(chset, :column_name, "hello")
十分です。
多くの感謝!
あなたのコードから明示的に 'YourModel.changeset'を呼び出していますか? – Dogbert
チェンジセットパイプラインにカスタム関数を追加しようとしましたが、チェンジセットが適用されたチェンジセットが返されます – coderVishal