11
エクトの理由changeset
メソッドは、パラメータをデフォルトの:empty
原子に設定しますか?例えばエクトチェンジセットの空の原子
def changeset(user, params \\ :empty) do
...
これにより、パラメータセットにnilを指定してチェンジセットメソッドを呼び出すことができますか?
エクトの理由changeset
メソッドは、パラメータをデフォルトの:empty
原子に設定しますか?例えばエクトチェンジセットの空の原子
def changeset(user, params \\ :empty) do
...
これにより、パラメータセットにnilを指定してチェンジセットメソッドを呼び出すことができますか?
これはプログラミングフェニックスで説明されています。
クリスは言う:指定されたパラメータがない場合はそれが空白のフォームの送信と区別がつかないことになるので、私達はちょうど空のマップをデフォルトにすることはできません。代わりに、デフォルトのparamsをatom:emptyに設定します。慣例として、Ectoは空のパラメータを持つ無効なチェンジセットを生成します。
したがって:empty
はプレースホルダとして使用されるため、空白のフォームの送信とパラメータの指定は区別できません。以下のコメントで
Stefanとしてノート:エクト2.0で、それは空のマップを使用していることを
注:エクト2.0で、それは空のマップを使用していることを
def changeset(user, params \\ %{}) do
注: ' defチェンジセット(ユーザ、params \\%{})do'。 https://hexdocs.pm/ecto/2.0.2/Ecto.Changeset.html – Stefan
を参照してください。それは、人々がそれを見逃している場合に備えて、その答えに際立っています。ありがとう:) –
Ecto 2.0が空のマップをデフォルトにできる理由は何ですか? – Johannes