/messages
index GET
一覧画面
/messages
create POST
作成処理
/messages/new
new GET
新規登録画面
/messages/:id/edit
edit GET
編集画面
/messages/:id/
show GET
個別画面
/messages/:id/
update PATCH/PUT
更新処理
/messages/:id/
destroy DELETE
削除処理
resources :messages
で
新規投稿の流れは
GETで
messages/new
へアクセス
メッセージをフォームで書き込んでPOST
POSTで
/messages
へアクセスし
書き込んだメッセージを
MessagesController#create
が受け取ることで
新しいメッセージ作成
これで
message一覧は
/messages
出みれる
1つずつの詳細をみたいなら
/messages/:id/
となる
新規登録と、詳細画面を一覧画面と同じにするなら
新しく画面の作成は不要
もし、別の画面をつくるなら作成が必要になる
index
create
は同じURL
show
update
destroy
は同じURLだけど
HTTPメソッドの種類つまり
GET
POST
DELETE
により
アクションとなる index などに自動で振り分けられる
ただし、URL直うちしても
GETメソッド以外は使えない
ちなみに
resourcesメソッドを使うことで
ビュー内で使うURLヘルパも自動作成される
URLヘルパは
リソースに必要なURLを自動作成する仕組みのこと
これで作成されたURLヘルパは
リンクのとき link_toで指定するときに使う
このヘルパ名が
_path なら相対パスだけど
_url だと絶対urlになるので注意
あと
message_path(id)
だった場合
渡すのはモデルオブジェクトのid になるけど
モデルオブジェクトを渡しても同じなので
message_path(message)
でもok