在没有模型或变更集的情况下使用form_for

时间:2016-01-14 16:40:30

标签: elixir phoenix-framework

我尝试创建一个只有一个文本字段和一个隐藏字段的表单,我将数据传递给HTTP API时使用,所以我没有模型与之相关联,并且通过扩展,没有变更集。

是否可以这样做并使用form_for或者只是编写HTML来创建表单?

1 个答案:

答案 0 :(得分:29)

您可以使用form_for/4传递Plug.Conn作为第一个参数。

来自the docs(特别是“有连接数据”部分):

  

form_for / 4期望作为第一个参数实现Phoenix.HTML.FormData协议的任何数据结构。 By default, Phoenix implements this protocol for Plug.Conn,允许我们仅根据连接信息创建表单。

     

当您创建不受任何类型的模型数据支持的表单(如搜索表单)时,这非常有用。

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