我正在做一个 Laravel 项目,我遇到了一个问题,我无法在不引发 404 错误的情况下让我的索引页面正常工作。
我在一个业余创作网站上工作,该网站有一个故事数据库——用户可以上传文本或文件等。我有一个索引页面,在一个长表中显示所有故事。这是页面和调用它的控制器方法:
控制器(仅显示相关方法):
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
$stories = Story::latest()->get();
return view('stories.index', compact('stories'));
}
index.blade.php:
@extends('base')
@section('main')
<div class="row">
<div class="col-sm-12">
<h1 class="display-3">Stories</h1>
<table class="table table-striped">
<thead>
<tr>
<td>Story ID</td>
<td>Title</td>
<td>Author ID</td>
<td>Genre</td>
<td colspan = 2>Options</td>
</tr>
</thead>
<tbody>
@foreach($stories as $story)
<tr>
<td>{{$story->id}}</td>
<td>{{$story->title}}</td>
<td>{{$story->authorid}}</td>
<td>{{$story->genre1}}</td>
<td>
<a href="{{ route('stories.show', $story->id)}}" class="btn btn-primary">View</a>
</td>
<td>
<a href="{{ route('stories.edit', $story->id)}}" class="btn btn-primary">Edit</a>
</td>
<td>
<form action="{{ route('stories.destroy', $story->id)}}" method="post">
@csrf
@method('DELETE')
<button class="btn btn-danger" type="submit">Delete</button>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
当我尝试访问此页面时,我不断收到 404 错误。我知道我以前能够访问它,因为它引发了与数据库相关的其他错误,但是当这些错误被修复时,我得到了 404。我不知道我可能会在哪里出错。它还在控制器方法定义中说该元素未使用 - 为什么它说这个我不知道,因为它清楚地从路由文件中引用:
Route::get('/', function () {
return view('welcome');
});
Route::get('/soon', function () {
return view('soon');
});
Route::resource('stories', 'StoryController');
Route::post('/stories', 'StoryController@store');
Route::get('stories/create', 'StoryController@create');
Route::get('stories/index', 'StoryController@index');
任何帮助将不胜感激!