プロミディア合同会社の斉藤です。
PHP/LaravelのRoute::resourceは7つのルーティングを1行にまとめてくれて便利です。
しかし、省略された内訳をきちんと把握していないと、他のルーティングとの重複に気づけなかったりします。
ここでは具体例を上げて、Route::resourceの内訳をご紹介します。
URIがmessagesの場合
Route::resource(‘messages’, ‘MessagesController’);
| メソッド | URI | アクション | ルート名 |
|---|---|---|---|
| GET | /messages | index | messages.index |
| GET | /messages/create | create | messages.create |
| POST | /messages | store | messages.store |
| GET | /messages/{message} | show | messages.show |
| GET | /messages/{message}/edit | edit | messages.edit |
| PUT | /messages/{message} | update | messages.update |
| DELETE | /messages/{message} | destroy | messages.destroy |
URIがtasksの場合
Route::resource(‘tasks’, ‘TasksController’);
| メソッド | URI | アクション | ルート名 |
|---|---|---|---|
| GET | /tasks | index | tasks.index |
| GET | /tasks/create | create | tasks.create |
| POST | /tasks | store | tasks.store |
| GET | /tasks/{task} | show | tasks.show |
| GET | /tasks/{task}/edit | edit | tasks.edit |
| PUT | /tasks/{task} | update | tasks.update |
| DELETE | /tasks/{task} | destroy | tasks.destroy |
URIがmicropostsの場合
Route::resource(‘microposts’, ‘MicropostsController’);
| メソッド | URI | アクション | ルート名 |
|---|---|---|---|
| GET | /microposts | index | microposts.index |
| GET | /microposts/create | create | microposts.create |
| POST | /microposts | store | microposts.store |
| GET | /microposts/{micropost} | show | microposts.show |
| GET | /microposts/{micropost}/edit | edit | microposts.edit |
| PUT | /microposts/{micropost} | update | microposts.update |
| DELETE | /microposts/{micropost} | destroy | microposts.destroy |

