質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

2回答

9028閲覧

Laravelでビューが表示できない。。

takataka3

総合スコア23

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2020/07/15 04:19

編集2020/07/15 04:25

現在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

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

半分解決してとりあえずviewは表示されました。

解決方法としてはroute::view()を使わずに、route::get()に変えてcreateのcontrollerを追加しました。

routes/web.php

php

1Route::get('/', 'PagesController@index'); 2- Route::view('/create','UsersController@create'); 3+ Route::get('/create', 'UsersController@create'); 4Route::post('/posts', 'UsersController@save'); 5Route::get('/users/{user}', 'PagesController@confirm'); 6Route::post('/delete', 'UsersController@delete' );

投稿2020/07/15 06:59

takataka3

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

diff

1 2Route::get('/', 'PagesController@index'); 3- Route::view('/create', 'UsersController@create'); 4+ Route::view('/create', 'UserController@create'); 5- Route::post('/posts', 'UsersController@save'); 6+ Route::post('/posts', 'UserController@save'); 7Route::get('/users/{user}', 'PagesController@confirm'); 8- Route::post('/delete', 'UsersController@delete' ); 9+ Route::post('/delete', 'UserController@delete' ); 10

投稿2020/07/15 04:21

phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takataka3

2020/07/15 04:27

phper.k様 早急のご回答ありがとうございます。 申し訳ございません。 掲示板の記載が誤りでありcotroller名はUsersControllerです。 投稿記事を修正かけました。 念のため上記のように変更しましたらエラーになってしまいました。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問