У меня есть форма в Фениксе, которая выглядит следующим образом
<%= form_for @changeset, Routes.post_path(@conn, :create, @post), [method: "post", multipart: true], fn f -> %>
<div class="row mt-3">
<div class="form-group col-6">
<%= input f, :title, "Title", [class: "form-control", type: "text", placeholder: "Enter Title", required: true] %>
</div>
<div class="form-group col-6">
<%= input f, :description, "Description", [class: "form-control", type: "text", placeholder: "Enter Description", required: true] %>
</div>
</div>
<div class="d-flex mt-3">
<%= submit "Create Post" %>
</div>
<% end %>
Приведенная выше форма работает нормально, Теперь я хочу изменить эту форму для реализации LiveView.Итак, я сделал что-то вроде этого
<%= form_for @changeset, "#", [method: "post", multipart: true], fn f -> %>
<div class="row mt-3">
<div class="form-group col-6">
<%= input f, :title, "Title", [class: "form-control", type: "text", placeholder: "Enter Title", required: true] %>
</div>
<div class="form-group col-6">
<%= input f, :description, "Description", [class: "form-control", type: "text", placeholder: "Enter Description", required: true] %>
</div>
</div>
<div class="d-flex mt-3">
<button phx-click="create-post" phx-value="form-value">Create Post"</button>
</div>
<% end %>
Я запутался вместо form-value
, что нужно отправить, чтобы я получил правильные данные формы, которые содержат title
и description
в моей функции handle_event
.
Я пытался передать @changeset
, а также f
, но они посылают правильные phx-value
, которые будут содержать мои title
и description
.
Не уверен, правильно ли реализует форму с LiveView или это нужно сделать другим способом.