form_for
Railsでフォームタグを作成できるメソッド
ユーザの登録や情報の更新機能はform_for、検索機能はform_tag
form_forの引数
引数にはモデルのインスタンスを指定。
※モデルのインスタンスとは、データベースに保存したいクラスのインスタンス。
<%= form_for(@user) do |f| %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>
form_forではform_tagのようにパス先の指定をしない。
def new
  @user = User.new
end
def edit
  @user = User.find(params[:id])
end
コントローラで作成したインスタンスがnewメソッドで作成され、情報を持っていなければcreateアクション、すでに情報を持っていればupdateアクション等に割り振ってくれる。
form_forでの投稿フォームの作成の仕方
「f.htmlタグ名:カラム名」という風に記載する。
<%= form_for(@user) do |f| %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>
上記の例だとuserテーブルのnameカラムに保存される。
form_forで使用できるhtmlタグ
・form_tag
検索フォームのようなフォームはデータベースが必要ではないため、form_tagを使用する。
・urlオプション
<%= form.submit %>を押した時のアクションを指定できる。
<%= form_for @fruit, url: fruit_bulk_create_path do |form| %>
<%= form.label :name %> <%= form.text_field :name, id: :fruit_name %>
<%= form.label :description %> <%= form.text_area :description, id: :fruit_description %>
<%= form.submit "一括登録" %>
<% end %>
上記のコードでは「form.submit」を実行すると、「fruit#fruit_bulk_create」アクションが実行される。