LaravelにてAuth::routes();を使ったフォーム画面の実装
実現したいこと
Auth::routes();を使ってユーザー登録画面を作りたいです。
発生している問題・エラーメッセージ
not foundなので恐らくファイルが見つからないと出ています。
View [layouts.not_logged_in] not found. (View: /home/ec2-user/environment/laravel_photo/resources/views/auth/register.blade.php) layouts.not_logged_in was not found.
View [layouts.not_logged_in] not found. (View: /home/ec2-user/environment/laravel_photo/resources/views/auth/register.blade.php)
layouts.not_logged_in was not found.
該当のソースコード
Laravel6
ディレクトリは、画像投稿サイトを作成するため一番上はlaravel_photoというフォルダ名で、その下に今回のファイル・フォルダをそれぞれ作成している状態です。
ルート部分はroutes/web.php、コントローラー部分はapp/Http/Controllers/Auth/RegisterController.phpで、ビューはresources/views/auth/register.blade.phpとresources/views/layouts/not_logged_in.blade.phpとなってます。(いま再度確認しました)
・ルートコード
ファイル名 web.php
php
1<? php 2Auth::routes(); 3 4Route::get('/', function () { 5 // return view('welcome'); 6 return view('top'); 7}); 8Route::resource('posts', 'PostController'); 9 10Route::resource('likes', 'LikeController')->only([ 11 'index', 'store', 'destroy' 12]); 13 14Route::resource('follows', 'FollowController')->only([ 15 'index', 'store', 'destroy' 16]); 17 18folloow', 'FollowController@folloowerIndex')
・コントローラー
ファイル名 RegisterController.php
php
1<?php 2 3namespace App\Http\Controllers\Auth; 4 5use App\Http\Controllers\Controller; 6use App\Providers\RouteServiceProvider; 7use App\User; 8use Illuminate\Foundation\Auth\RegistersUsers; 9use Illuminate\Support\Facades\Hash; 10use Illuminate\Support\Facades\Validator; 11 12class RegisterController extends Controller 13{ 14 /* 15 |-------------------------------------------------------------------------- 16 | Register Controller 17 |-------------------------------------------------------------------------- 18 | 19 | This controller handles the registration of new users as well as their 20 | validation and creation. By default this controller uses a trait to 21 | provide this functionality without requiring any additional code. 22 | 23 */ 24 // RegisterUsers トレイトを利用 25 use RegistersUsers; 26 27 /** 28 * Where to redirect users after registration. 29 * 30 * @var string 31 */ 32 // ユーザー登録後はホーム画面に移動 33 protected $redirectTo = RouteServiceProvider::HOME; 34 35 /** 36 * Create a new controller instance. 37 * 38 * @return void 39 */ 40 // 未ログインであることを確認 41 public function __construct() 42 { 43 $this->middleware('guest'); 44 } 45 46 /** 47 * Get a validator for an incoming registration request. 48 * 49 * @param array $data 50 * @return \Illuminate\Contracts\Validation\Validator 51 */ 52 // ユーザー登録フォームで用いるバリデーションルールを設定 53 protected function validator(array $data) 54 { 55 return Validator::make($data, [ 56 'name' => ['required', 'string', 'max:255'], 57 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 58 'password' => ['required', 'string', 'min:8', 'confirmed'], 59 ]); 60 } 61 62 /** 63 * Create a new user instance after a valid registration. 64 * 65 * @param array $data 66 * @return \App\User 67 */ 68 // ユーザーの生成処理 69 protected function create(array $data) 70 { 71 return User::create([ 72 'name' => $data['name'], 73 'email' => $data['email'], 74 'password' => Hash::make($data['password']), 75 ]); 76 } 77}
・ビュー部分
ファイル名 register.blade.php
php
1@extends('layouts.not_logged_in') 2 3@section('content') 4 <h1>サインアップ</h1> 5 6 <form method="POST" action="{{ route('register') }}"> 7 @csrf 8 <div> 9 <label> 10 ユーザー名: 11 <input type="text" name="name"> 12 </label> 13 </div> 14 15 <div> 16 <label> 17 メールアドレス: 18 <input type="email" name="email"> 19 </label> 20 </div> 21 22 <div> 23 <label> 24 パスワード: 25 <input type="password" name="password"> 26 </label> 27 </div> 28 29 <div> 30 <label> 31 パスワード(確認用): 32 <input type="password" name="password_confirmation" > 33 </label> 34 </div> 35 36 <div> 37 <input type="submit" value="登録"> 38 </div> 39 </form> 40@endsection
ファイル名 not_logged.in.blade.php
php
1@extends('layouts.default') 2 3@section('header') 4<header> 5 <ul class="header_nav"> 6 <li> 7 <a href="{{ route('register') }}"> 8 サインアップ 9 </a> 10 </li> 11 <li> 12 <a href="{{ route('login') }}"> 13 ログイン 14 </a> 15 </li> 16 </ul> 17</header> 18@endsection
試したこと
教科書通りの手順を踏み記述しましたが、念のためファイル名の誤字などに気を付けましたが、エラーが解消されません。
補足情報(FW/ツールのバージョンなど)
Windows10 PHP7_v1
