Viewヘルパーのform_forとform_tagの使い分け

Viewヘルパーのform_forform_tag、似たような名前で違いがよくわからない。

Ruby on railsほぼ初心者の私がそうでしたが、同じような方もいるのではないでしょうか。

そこで今回は、細かい使い方は他に譲るとして、どっちを使えばいいのかについて基本的な考え方を紹介します。

form_for:modelに紐付いたフォームを生成

form_forはモデルに関係するフォームを生成するときに使用します。

以下の例では、@userの情報を登録・編集するためのフォームを生成しているので、form_for(@user)を使用しています。

form_tag:それ以外のフォームを生成

対するform_tag は、それ以外と理解しています。

つまり、先程のようなモデル情報の登録・編集をしないときに使います。

例えば、以下のような検索フォームで使用できます。

まとめ

モデルに紐付いているかどうかを基本に選びましょう。
(間違ってたら教えていただけると助かります。)

ほな。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です