ルーティングメソッド

/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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です