在Elixir Ecto变更集中施放/ 3

时间:2017-02-01 00:01:09

标签: elixir phoenix-framework ecto

我有以下型号。我是否必须在演员表中包含所有字段名称,或者是否有任何默认方式将参数中的所有字段映射到模型。

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方法中指定要复制到模型中的所有字段名称?

1 个答案:

答案 0 :(得分:1)

我认为这可行,但我从来没有做过tbh - >

Enum.map(@ecto_fields, &(elem(&1, 0)))