2016-01-14 4 views
10

HTTP APIにデータを渡すときに使用するテキストフィールドと非表示フィールドだけのフォームを作成しようとしています。それに関連するモデル、拡張によって、チェンジセットはありません。モデルまたはチェンジセットなしでform_forを使用

これを行うことは可能ですか?form_forを使用するか、フォームを作成するためのHTMLを書くだけの答えですか?

+0

こんにちは、スパイク!フェニックスの質問のまわりでこのちょうどsnoopinにつまずいた。 –

答えて

19

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 %> 
+0

ありがとう!私は今朝このページをスキミングしましたが、そのセクションに気付かなかったのです。これは最高です。 –

+3

'name'キーワードは非推奨です。新しいキーワードは' form_for'の 'as'です。 –

関連する問題