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
で出てくる