ページが読み込まない
解決したいこと
このサイト(https://www.hypertextcandy.com/laravel-tutorial-introduction/)
を参考にして作成していたのですがタスク編集一覧の編集をクリックすると下記の画像1の画面が出ます。
この前にコード修正してまして、このサイト(https://teratail.com/questions/240242)
を参考にしながら修正していました。
その時に出ていたエラー画面が画像2です。
routes/web.phpの
Route::get('/folders/{folder}/tasks/{task}/edit', 'TaskController@showEditForm')->name('tasks.edit');
Route::post('/folders/{folder}/tasks/{task}/edit', 'TaskController@edit');
});
の{task}/を消したら画像2のエラーが直りました。
どのようにすれば、解決できますか?わかりやすく解説をお願いします。
お手数をおかけして申し訳ございません
画像1
画像2
修正後のroutes/web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::group(['middleware' => 'auth'], function() {
Route::get('/', 'HomeController@index')->name('home');
Route::get('/folders/create', 'FolderController@showCreateForm')->name('folders.create');
Route::post('/folders/create', 'FolderController@create');
Route::group(['middleware' => 'can:view,folder'], function() {
Route::get('/folders/{folder}/tasks', 'TaskController@index')->name('tasks.index');
Route::get('/folders/{folder}/tasks/create', 'TaskController@showCreateForm')->name('tasks.create');
Route::post('/folders/{folder}/tasks/create', 'TaskController@create');
Route::get('/folders/{folder}/tasks/edit', 'TaskController@showEditForm')->name('tasks.edit');
Route::post('/folders/{folder}/tasks/edit', 'TaskController@edit');
});
});
Auth::routes();
index.blade.php
@extends('layout')
@section('content')
<div class="container">
<div class="row">
<div class="col col-md-4">
<nav class="panel panel-default">
<div class="panel-heading">フォルダ</div>
<div class="panel-body">
<a href="{{ route('folders.create') }}" class="btn btn-default btn-block">
フォルダを追加する
</a>
</div>
<div class="list-group">
@foreach($folders as $folder)
<a
href="{{ route('tasks.index', ['folder' => $folder->id]) }}"
class="list-group-item {{ $current_folder_id === $folder->id ? 'active' : '' }}"
>
{{ $folder->title }}
</a>
@endforeach
</div>
</nav>
</div>
<div class="column col-md-8">
<div class="panel panel-default">
<div class="panel-heading">タスク</div>
<div class="panel-body">
<div class="text-right">
<a href="{{ route('tasks.create', ['folder' => $current_folder_id]) }}" class="btn btn-default btn-block">
タスクを追加する
</a>
</div>
</div>
<table class="table">
<thead>
<tr>
<th>タイトル</th>
<th>状態</th>
<th>期限</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($tasks as $task)
<tr>
<td>{{ $task->title }}</td>
<td>
<span class="label {{ $task->status_class }}">{{ $task->status_label }}</span>
</td>
<td>{{ $task->formatted_due_date }}</td>
<td>
<a href="{{ route('tasks.edit', ['folder' => $task->folder_id, 'task_id' => $task->id]) }}">
編集
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
@endsection
edit.blade.php(タスクの編集ページ)
@extends('layout')
@section('styles')
@include('share.flatpickr.styles')
@endsection
@section('content')
<div class="container">
<div class="row">
<div class="col col-md-offset-3 col-md-6">
<nav class="panel panel-default">
<div class="panel-heading">タスクを編集する</div>
<div class="panel-body">
@if($errors->any())
<div class="alert alert-danger">
@foreach($errors->all() as $message)
<p>{{ $message }}</p>
@endforeach
</div>
@endif
<form
action="{{ route('tasks.edit', ['folder' => $task->folder_id, 'task_id' => $task->id]) }}"
method="POST"
>
@csrf
<div class="form-group">
<label for="title">タイトル</label>
<input type="text" class="form-control" name="title" id="title"
value="{{ old('title', $task->title) }}" />
</div>
<div class="form-group">
<label for="status">状態</label>
<select name="status" id="status" class="form-control">
@foreach(\App\Task::STATUS as $key => $val)
<option
value="{{ $key }}"
{{ $key == old('status', $task->status) ? 'selected' : '' }}
>
{{ $val['label'] }}
</option>
@endforeach
</select>
</div>
<div class="form-group">
<label for="due_date">期限</label>
<input type="text" class="form-control" name="due_date" id="due_date"
value="{{ old('due_date', $task->formatted_due_date) }}" />
</div>
<div class="text-right">
<button type="submit" class="btn btn-primary">送信</button>
</div>
</form>
</div>
</nav>
</div>
</div>
</div>
@endsection
@section('scripts')
@include('share.flatpickr.scripts')
@endsection