Size: a a a

Эликсир и Вунш

2018 February 03

F

Franco in Эликсир и Вунш
а можно ссылку на документацию. а то роюсь не пойми где. мож пойму
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
источник

F

Franco in Эликсир и Вунш
Спасибо
источник

KA

Kurmet Aubanov in Эликсир и Вунш
Franco
а в книге empty стоит
Там в какой-то версии ecto были изменения, книге этот момент не соответствует
источник

KA

Kurmet Aubanov in Эликсир и Вунш
источник

AD

Artem Denezhny in Эликсир и Вунш
Быстрые свидания бесполезны. 30 секунд не хватает для того, чтобы объяснить все преимущества функционального программирования на Haskell.
источник

Е

Евгений in Эликсир и Вунш
лол
источник

M

MpaK 🇹🇭 in Эликсир и Вунш
источник

F

Franco in Эликсир и Вунш
я предполагал, но выгуглить не удалось
источник

F

Franco in Эликсир и Вунш
def create(conn, %{"user" => user_params}) do
   changeset = User.changeset(%User{}, user_params)
   case Repo.insert(changeset) do
     {:ok, user} ->
       conn
     
       |> put_flash(:info, "#{user.name} created!")
       |> redirect(to: user_path(conn, :index))
     {:error, changeset} ->
       render(conn, "new.html", changeset: changeset.action)
   end
 end
источник

F

Franco in Эликсир и Вунш
<h1>New User</h1>
<%= form_for @changeset, user_path(@conn, :create), fn f -> %>
<div class="form-group">
<%= text_input f, :name, placeholder: "Name", class: "form-control" %>
</div>
<div class="form-group">
<%= text_input f, :username, placeholder: "Username", class: "form-control" %>
</div>
<div class="form-group">
<%= password_input f, :password, placeholder: "Password", class: "form-control" %>
</div>
<%= submit "Create User", class: "btn btn-primary" %>
<% end %>
источник

F

Franco in Эликсир и Вунш
<%= if @changeset.action do %>
<div class="alert alert-danger">
<p>Oops, something went wrong! Please check the errors below.</p>
</div>
<% end %>
<div class="form-group">
<%= text_input f, :name, placeholder: "Name", class: "form-control" %>
<%= error_tag f, :name %>
</div>
<div class="form-group">
<%= text_input f, :username, placeholder: "Username", class: "form-control" %>
<%= error_tag f, :username %>
</div>
<div class="form-group">
<%= password_input f, :password, placeholder: "Password", class: "form-control" %>
<%= error_tag f, :password %>
</div>
источник

F

Franco in Эликсир и Вунш
А вот если пустое поле вводится, то ошибка получается
источник

F

Franco in Эликсир и Вунш
Не в какую не пишет Oops
источник

F

Franco in Эликсир и Вунш
case Repo.insert(changeset) do    тут встает
источник

F

Franco in Эликсир и Вунш
Postgrex.Error at POST /users
ERROR 23502 (not_null_violation): null value in column "username" violates not-null constraint
источник

F

Franco in Эликсир и Вунш
источник

F

Franco in Эликсир и Вунш
а обещают вот так
источник

M

Moi_nik in Эликсир и Вунш
Это ошибка постгреса, а должна сработать валидация в case, в контроллере
имеет смысл проверить модель/контроллер changeset
источник

M

Moi_nik in Эликсир и Вунш
btw,  зачем в кейсе экшен? changeset: changeset.action
По идее должно быть

{:error, changeset} ->
       render(conn, "new.html", changeset: changeset)
источник