2016年9月2日金曜日

「Phoenix」フレームワークの「チェンジセット(changeset)」とは?

Phoenix」フレームワークの「チェンジセット(changeset)」とは? ということで調べてみました。
構造体(Structs)のデータを扱う際、フィルタリング(filtering)、キャスティング(casting)、検証(validation)、および制約(constraints)の定義を可能にします。

チェンジセット(changeset)は、モデルの作成と変更のために使用されます。 チェンジセットは、文字通り、一連のデータの変更内容を格納する構造体(Structs)とバリデーション(validation)ルールです。

チェンジセットは、現在、Ectoのモデルを更新するための唯一の方法です。

defmodule User do
  use Ecto.Schema
  import Ecto.Changeset

  schema "users" do
    field :name
    field :email
    field :age, :integer
  end

  def changeset(user, params \\ %{}) do
    user
    |> cast(params, [:name, :email, :age])
    |> validate_required([:name, :email])
    |> validate_format(:email, ~r/@/)
    |> validate_inclusion(:age, 18..100)
    |> unique_constraint(:email)
  end
end

参考サイト
What is a changeset in phoenix elixir(Stack Overflow)
Ecto.Changeset(Ecto)
Elixirで構造体(Structs)

0 件のコメント:

コメントを投稿