form_forまとめ

Railsアプリ開発で必須のform_for(もう既にform_withの時代らしいですが)
色々よしなにしてくれるせいでめっちゃ混乱するおかげで便利なので
やってくれること等をまとめておこうと思います。

form_for
基本構文

<% form_for @model オプション: "" do |f| %>

<% end %>

@modelにはデータを扱うモデルのインスタンスを入れます。
form_for〜endまでの間に

<%= f.label %>
<%= f.input %>

などといった形でform系統のhtmlタグを生成できます。オプションでは主に以下が使えます

url: パス
submit時にデフォルトではcreateを動かしますが、動かすアクションを指定できる

html: { class: "", id: "" }
htmlタグの属性を指定できる

これで済めばまだ良かったのですが、Rails様の気の利かせっぷりが凄いです。

<%= form_for @group do |f| =%>
  省略

これだけの記述で生成されるformタグは

<form class="new_group" id="new_group" action="/groups" accept-charset="UTF-8" method="post">
</form>

こんなことになっています。
特に困惑したのがclass,idを勝手につけること。この自動class, idは
こちらで指定したclass, idがあるとそっちが優先されて自動class, idはつきません。

時間かかってきたので中身のf.シリーズは明日に