新規作成画面から新規作成の登録までのルーティングの流れを具体的に説明します。
1. **ルートの設定**:
最初に、新規作成画面から新規作成の登録までのルートを設定します。通常、Laravelの`routes/web.php`ファイル内でこれらのルートを定義します。
```php
Route::get('/items/create', 'ItemController@create')->name('items.create');
Route::post('/items', 'ItemController@store')->name('items.store');
```
上記のコードでは、新規作成画面にアクセスするためのGETリクエストと、新しいアイテムをデータベースに保存するためのPOSTリクエストの2つのルートを設定しています。
2. **新規作成画面表示**:
- URL: `/items/create`
- HTTPメソッド: GET
- ルート名: `items.create`
ユーザーが新規作成画面にアクセスすると、`ItemController`の`create`メソッドが呼び出されます。このメソッドは新規アイテムのフォームを表示するビューを返します。
```php
public function create()
{
return view('items.create');
}
```
このビューには新しいアイテムを入力するフォームが含まれています。
3. **新規作成の登録実行**:
- URL: `/items`
- HTTPメソッド: POST
- ルート名: `items.store`
ユーザーが新しいアイテムの情報をフォームに入力し、送信ボタンをクリックすると、フォームデータは`/items`へのPOSTリクエストとしてサーバーに送信されます。
`ItemController`の`store`メソッドが呼び出され、送信されたデータを処理し、新しいアイテムをデータベースに保存します。
```php
public function store(Request $request)
{
// フォームデータのバリデーションと新しいアイテムの保存
}
```
このメソッド内では、フォームデータをバリデーションし、データベースに保存します。成功時には、新しいアイテムがデータベースに保存され、通常は成功メッセージを表示してリダイレクトします。
このように、ユーザーは新規作成画面で新しいアイテムの情報を入力し、送信ボタンをクリックすることで、新しいアイテムがデータベースに保存される流れです。ルートとコントローラの設定が正しく行われていれば、このフローが実現されます。