#form_withとは
railsで情報を送信するためのヘルパーメソッド。簡単に入力に必要なHTMLを作成することができる。
#基本的な書き方
入力された情報をデータベースに保存しない時
<%= form_with url: "パス" do |f| %>
フォーム内容
<% end %>
入力された情報をデータベースに保存する時
<%= form_with model: "モデルクラスのインスタンス" do |f| %>
フォーム内容
<% end %>
引数に指定しているモデルクラスのインスタンスとは、保存したいテーブルのクラスのインスタンス。
今回はmemoというテーブルに新たにレコードを作成したいため、コントローラー側で以下の記述をします。
def new
@memo = Memo.new
end
この@memo
をform_withの引数に指定します。この、コントローラーで作成したインスタンスがnewメソッドで新たに生成されて、何も情報を持っていなければ自動的にcreateアクション
へ、findメソッドなどで生成され、既に情報を持っている場合はupdateアクション
へ自動的に振り分けてくれるようです(便利)。
#フォーム内容の記述方法
form_withで使用できるHTMLタグを記述していきます。
Center align | Left align |
---|---|
f.text_field | 1行のテキストフォーム |
f.text_area | 複数行のテキストフォーム |
f.date_select | 日付選択ボックス生成 |
f.number_field | 数値入力のボックスを生成 |
f.submit | 送信ボタンの生成 |
他にも多数ありますが、現状使用したもののみをピックアップしてみました。