form_for
expect the first argument to be any data structure that implements the Phoenix.HTML.FormData
protocol. Phoenix implements this protocol for Plug.Conn
. Hence to create form not backing by any data layer:
<%= form_for @conn, to: Routes.search_path(@conn, :new) do |f| %>
...
<% end %>