■
userから見ると一つのuserはいっぱいpost(記事)を持てる。
model/user.rbは
has_many :postsとなる
postからみると一つのpost(記事)は一つのuserしか持てない。誰が投稿したかがわかる
model/post.rbは
belongs_to :user
■
薄々気づいてはいたんだが、クラス名のけつにbtnってつけたらボタンになる。恥ずかしい
新規投稿・投稿編集でform_withは同じコード、部分テンプレートが使える
渡されるインスタンスの中身(@postは空なのか、中身にすでに情報が入っているのか)で、行き先(createアクションに行くのか、updateアクションに行くのか)を勝手に決めてくれる
Prefix Verb URI Pattern Controller#Action
post GET /posts/:id(.:format) posts#show
post PATCH /posts/:id(.:format) posts#update
post PUT /posts/:id(.:format) posts#update
posts#showとposts#updateに対するルーティングが、post_pathという同じPrefix名になっている。これは、HTTPメソッド(GETかPATCH)で区別することができる。
特定のIDの記事をテーブルから取得する
@post = Post.find(params[:id])
↑3としたとき
変数@postにはid3のレコードの情報が代入される
■
form_withを使ったときはストロングパラメータの書き方が少し変わる
private
def post_params
params.require(:post).permit(:title, :content)
end
require(:モデル名)の記載が増える