現在Laravelで簡単な掲示板アプリを作成しております。
エラーが出ているのですが解決策が分からず困っております。
ご教授お願いします。
#解決したいこと
Are you sure the view exists and is a .blade.php file?
こちらの表示が出てしまいビューが表示されないエラーを解決したいです。
resouces/views/index.blade.phpは表示されます。
ここから投稿するを押すと上記のエラーが出ます。
create.blade.phpがうまく参照されていないのでは?と思いますが
controllerやroutesは問題ないように感じております。
##開発環境
MAMP 5.7
Laravel 7.19.1
コード
routes/web.php
php
1<?php 2 3use Illuminate\Support\Facades\Route; 4 5/* 6|-------------------------------------------------------------------------- 7| Web Routes 8|-------------------------------------------------------------------------- 9| 10| Here is where you can register web routes for your application. These 11| routes are loaded by the RouteServiceProvider within a group which 12| contains the "web" middleware group. Now create something great! 13| 14*/ 15 16Route::get('/', 'PagesController@index'); 17Route::view('/create', 'UsersController@create'); 18Route::post('/posts', 'UsersController@save'); 19Route::get('/users/{user}', 'PagesController@confirm'); 20Route::post('/delete', 'UsersController@delete' );
Http/controllers/UsersController.php
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\User; 7use App\Http\Requests\UsersRequest; 8use Illuminate\Support\Facades\Hash; 9 10class UsersController extends Controller 11{ 12 13 public function save(UsersRequest $request) { //登録処理 14 $user = new User(); 15 if ($request->name) $user->name = $request->name; 16 $user->password = Hash::make($request->password); //password_hashみたいなの 17 $user->body = $request->body; 18 $user->save(); 19 return redirect('/'); 20 } 21 22 public function delete(Request $request) { //削除処理 23 $user = User::findOrFail($request->id); 24 if (Hash::check($request->password , $user->password)) { //password_verifyみたいなの 25 User::destroy($user->id); 26 return redirect('/'); 27 } 28 $error = 'The password is incorrect'; 29 return view('confirm', ['error' => $error])->with('user', $user); 30 } 31 32 public function create() { 33 $users = User::latest()->get(); 34 return view('create', ['users' => $users]); 35 } 36}
Http/controllers/PagesController.php
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\User; 7 8class PagesController extends Controller 9{ 10 11 public function index() { 12 $users = User::latest()->get(); 13 return view('index', ['users' => $users]); 14 } 15 16 public function confirm(User $user) { 17 return view('confirm', ['user' => $user]); 18 } 19}
resouces/views/layouts/default.blade.php
php
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>@yield('title')</title> 6 <link rel="stylesheet" href="/css/styles.css"> 7 </head> 8 <body> 9 <div id="header"> 10 @yield('header') 11 <h1>掲示板</h1> 12 </div><!-- header --> 13 <div id="main"> 14 @yield('content') 15 </div><!-- main --> 16 </body> 17</html>
resouces/views/index.blade.php
php
1@extends('layouts.default') 2 3@section('title', '掲示板') 4 5@section('header') 6 <p>現在の投稿<span>{{ $users->count() }}</span>件</p> 7 <h2><a href="{{ url('/create') }}">投稿する</a></h2> 8@endsection 9 10@section('content') 11 <dl> 12 @forelse ($users as $user) 13 <div class="posts"> 14 <dt> 15 <span>1</span><span>名前:{{ $user->name }}</span> 16 <span>{{ $user->created_at }}</span><br> 17 </dt> 18 <dd> 19 {!! nl2br(e($user->body)) !!} 20 <a href="{{ action('PagesController@confirm', $user->id) }}">削除</a> 21 </dd> 22 </div><!-- posts --> 23 @empty 24 <p>まだ投稿はありません。</p> 25 @endforelse 26 </dl> 27 @if ($users->count() > 5) 28 <button id="load_more">全件表示</button> 29 @endif 30@endsection
resouces/views/create.blade.php
php
1@extends('layouts.default') 2 3@section('title', '新規投稿') 4 5@section('content') 6 <form action="{{ url('/posts') }}" method="post"> 7 {{ csrf_field() }} 8 <p> 9 <input type="text" name="name" value="{{ old('name') }}" id="name" placeholder="enter name"> 10 </p> 11 <p> 12 <input type="password" name="password" placeholder="enter password"> 13 </p> 14 @if ($errors->has('password')) 15 <span class="error">{{ $errors->first('password') }}</span> 16 @endif 17 <p> 18 <textarea name="body" rows="8" cols="40" value="{{ old('body') }}" placeholder="enter comment"></textarea> 19 </p> 20 @if ($errors->has('body')) 21 <span class="error">{{ $errors->first('body') }}</span> 22 @endif 23 <p> 24 <input type="submit" value="submit"> 25 </p> 26 </form> 27@endsection
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。