3
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【form_with】formはform_withで統一しよう。 

Last updated at Posted at 2020-06-16

##【ゴール】
form_withを理解する

##【メリット】
■ railsの推奨は「form_with」
■ そんなに難しくないので覚えておくべき

##【開発環境】
■ Mac OS catalina
■ Ruby on Rails (5.2.4.2)
■ Virtual Box:6.1
■ Vagrant: 2.2.7

##【違い】

###■form_for
モデルがある。
DBへ保存したいデータに対して使用

###■form_tag
モデルがない
POSTの処理を行い時に使用

###■form_with
両刀
上記2つの機能を兼ね備えた便利なメソッド

##【実際に使ってみた】

###モデルがある時
※例えば以下のようなモデル

モデル名:Book
カラム名①:name
カラム名②:title

books/index.html.erb

<% form_with model:Book do |f| %> #model追記
  <%= f.text_field :name %>
  <%= f.text_area :text %>
  <%= f.submit %>
<% end %>

###モデルがない時
※モデルがないので指定したpathに情報が渡るだけに【POSTメソッドに】

hoge.html.erb
<%= form_with url:hoge_path do |f| %> #path名を追記
  <%= f.text_area :name %>
  <%= f.text_area :question %>
  <%= f.submit %>
<% end %>

以上。

モデルがあれば、model名を指定
モデルがなければ,path名で指定

私も使用することから逃げていましたが
めちゃくちゃ簡単だったので、よければ使ってみてください。

3
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?