Я работаю над некоторыми фреймворками Phoenix и столкнулся со странной проблемой (как обычно). Всякий раз, когда я пытаюсь создать некоторых пользователей, я получаю пользователя со всеми полями, установленными на ноль. Я использую Mongo.Ecto/
def post_login(conn, %{"login" => login, "password" => password}) do
# IO.inspect Plug.Conn.read_body(conn)
a = User.changeset(%User{}, %{"login" => "login", "password" => "password"})
IO.inspect a
Repo.insert( a )
redirect conn, to: "/default"
end
И модель:
defmodule HelloWorld.User do
use HelloWorld.Web, :model
@primary_key {:id, :binary_id, autogenerate: true}
schema "users" do
field :login, :string
field :password, :string
end
@required_fields ~w()
@optional_fields ~w()
def changeset(model, params \\ :empty) do
model
|> cast(params, @required_fields, @optional_fields)
end
end
И скрин из консоли:
Как вы можете видеть на картинке, поля для входа и пароля пустые, что заставляет меня чувствовать, что я сделал что-то невероятно глупое.