1
1

More than 3 years have passed since last update.

自分用メモ(form_for関連・render・パスの確認)

Posted at

render (Viewでの役割)

→部分テンプレートをビューに出力する

ex)<%= render 'form'%> ←ここに _form.html.erbが挿入される

post:@postって何

postという名のパラメーターにテンプレート変数@postを渡しなさい

ex) <%= render 'form' post:@post%>
→部分テンプレートの_form.html.erbの post という変数に @postを渡せ

・オプション色々はここに書いてある
https://web-camp.io/magazine/archives/17675

form_for(ビューヘルパーの一種)

→特定のモデルを編集するためのフォーム

(ビューヘルパーにはモデルのプロパティ名に対応した名前(シンボル)を渡すという点を覚えておくと良いらしい)あまりわからないのであとでビューヘルパーについて学ぶ

モデルを受け取る ex)post

form_for(model) do |f|
ーーーbodyーーー
end

bodyの中身
<% f.text_field :title %>
→postオブジェクトを編集するフォームで、titleプロパティに対応するテキストボックス

f.text_field

f.submit
→新規作成と編集の時では挙動が異なる
新規作成の時→create
編集する時→update

newで@postに代入する意味

formから代入する情報を格納するための器を作るため

newからcreateまでの流れ

フォーム作っておく
→データ受け取るときに受け取るデータ絞れる(1)

(C-new)newで空の容器@postを作成

(V)render 'なんたら',post: @post
でformのpostというパラメータに@postを渡す

(V)データ入力

(V)submitでデータ送信

(C-create)@postにデータを受け取る(再構築)
・データを絞って受け取る params.require(:model名).permit(:A,:B,:C...)
(Strongパラメータっていうらしい)

保存

パスの確認

rake routes
で出てくる

参考:https://qiita.com/nantekkotai/items/6fab459e1b9a38b9a816

1
1
0

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
1
1