1
以下のモデルがあります。キャスト内にすべてのフィールド名を含める必要がありますか、パラメータのすべてのフィールドをモデルにマップするデフォルトの方法がありますか。キャスト/ 3エリクールエクトチェンジセット
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
キャストメソッドのすべてのフィールド名をモデルにコピーする必要がありますか?
これは、すべての非仮想フィールドのために働く必要があります。 – PatNowak
この|>キャスト(params、Enum.map(@ecto_fields、&(elem(&1、0)))でこの|>キャスト(params、["title"、 "shortdesc"、 "longdesc"])それは働いた。ありがとう –