Using form_for без модели или набора изменений

Я пытаюсь создать форму, которая имеет только текстовое поле и скрытое поле, которое я буду использовать при передаче данных в HTTP API, поэтому у меня нет модели, связанной с ней, и расширение, без изменений.

Возможно ли это сделать и использовать form_for или это ответ на просто запись HTML для создания формы?

Ответ 1

Вы можете использовать form_for/4, передав Plug.Conn в качестве первого аргумента.

От документы (в частности, раздел "С данными соединения" ):

form_for/4 ожидает в качестве первого аргумента любой структуры данных, которая реализует протокол Phoenix.HTML.FormData. По умолчанию Phoenix реализует этот протокол для Plug.Conn, что позволяет нам создавать формы, основанные только на информации о подключении.

Это полезно, когда вы создаете формы, которые не подкреплены никакими типами данных модели, как форма поиска.

<%= form_for @conn, search_path(@conn, :new), [as: :search], fn f -> %>
  <%= text_input f, :for %>
  <%= submit "Search" %>
<% end %>