I want to set default values for a model in Phoenix Framework, I have tried:
def new(conn, _params) do
user = get_session(conn, :user)
if is_nil user do
user = Repo.get_by(User, name: "guest")
conn = put_session(conn, :user, user)
end
changeset = Module.changeset(%Module{})
changeset
|> Ecto.Changeset.put_change(:user, user)
|> Ecto.Changeset.put_change(:version, "0.0.0")
|> Ecto.Changeset.put_change(:visibility, "public")
render(conn, "new.html", user: user, changeset: changeset)
end
How do I set default values in the model so they appear when new.html is rendered?
BTW, here is my default changeset function. I couldn't figure out how to use it? I'm assuming use a Ecto.changeset.put_change in the pipeline after the cast?
def changeset(model, params \\ :empty) do
model
|> cast(params, @required_fields, @optional_fields)
end