cast/3 在 Elixir Ecto 变更集中
cast/3 in Elixir Ecto changesets
我有以下型号。我是否必须在转换中包含所有字段名称,或者是否有任何默认方法将参数中的所有字段映射到模型。
defmodule Chemical.Info do
use Chemical.Web, :model
schema "infos" do
field :title, :string
field :shortdesc, :string
field :longdesc, :string
field :images, :string
field :regions, :string
field :startdate, :date
field :enddate, :date
field :status, :string
field :createdby, :string
field :approvedby, :string
timestamps()
end
def changeset(model, params \ :empty) do
model
|> cast(params, ["title", "shortdesc", "longdesc"])
end
end
是否必须在要复制到模型中的 cast 方法中指定所有字段名称?
我认为这可能有用,但我从来没有做过 ->
Enum.map(@ecto_fields, &(elem(&1, 0)))
我有以下型号。我是否必须在转换中包含所有字段名称,或者是否有任何默认方法将参数中的所有字段映射到模型。
defmodule Chemical.Info do
use Chemical.Web, :model
schema "infos" do
field :title, :string
field :shortdesc, :string
field :longdesc, :string
field :images, :string
field :regions, :string
field :startdate, :date
field :enddate, :date
field :status, :string
field :createdby, :string
field :approvedby, :string
timestamps()
end
def changeset(model, params \ :empty) do
model
|> cast(params, ["title", "shortdesc", "longdesc"])
end
end
是否必须在要复制到模型中的 cast 方法中指定所有字段名称?
我认为这可能有用,但我从来没有做过 ->
Enum.map(@ecto_fields, &(elem(&1, 0)))