我正在通过构建工作门户应用程序来学习Laravel。我正在为公司方面编写代码以编辑他们的帖子。
现在我可以转到url,例如http://localhost:8000/jobs/23/edit
。但是在屏幕上显示了404|not found
错误消息
对于编辑页面,我创建了views / jobs / edit.blade.php。
当然,数据显然插入了我的工作表中。
我试图清除所有缓存,然后执行以下命令。
1. composer dump-autoload
2. php artisan clear-compiled
3. php artisan optimize
4. php artisan config:cache
web.php
Route::get('/jobs/{id}/edit', 'JobController@edit')->name('job.edit');
JobController.php
public function edit($id)
{
$jobs = Job::findOrFail($id);
return view('jobs.myjob',compact('jobs'));
}
my-job.blade.php 我有一个编辑按钮,下面的代码是它的链接。
{{route('job.edit',[$job->id])}}
我的环境是Windows,XAMPP和本地MySQL服务器。
答案 0 :(得分:1)
尝试这种方式:
<a href="{{route('job.edit',['id'=>$job->id])}}">Edit Job {{$job->id}}</a>
您可以通过以下方式清除路由缓存:
php artisan route:clear
update:运行以下命令清除缓存
php artisan config:clear
php artisan cache:clear
答案 1 :(得分:0)
我终于可以解决这个问题。
我改了一条新路线。
Route :: get('/ test-jobs / {id} / edit','JobController @ edit')-> name('test-job.edit');
我像这样创建了新的blade.php,views / test-jobs / edit.blade.php
我还更改了JobController.php
公共功能编辑($ id){ $ jobs = Job :: findOrFail($ id); 返回视图('test-jobs.edit',compact('jobs')); }
最后,my-job.blade.php具有这样的编辑按钮。
<a href="{{route('test-jobs.edit',[$job->id])}}"><button class="btn btn-dark">Edit</button></a>
但是,我仍然不知道它为什么起作用。
而且,我想我需要另一个解决方案。因为这样,我需要在视图中创建另一个新文件夹。
因此,如果有人知道其他解决方案,请告诉我。 谢谢。
答案 2 :(得分:0)
问题可能出在您的version: '3'
services:
app:
container_name: docker-node-mongo
restart: always
build: .
ports:
- '80:3000'
links:
- mongo
mongo:
container_name: mongo
image: mongo
ports:
- '27017:27017'
volumes:
- data-volume:/data/db
volumes:
data-volume:
的{{1}}行中,它返回以下视图:docker-node-mongo | MongoDB Connected
docker-node-mongo | GET / 304 12.989 ms - -
docker-node-mongo | Welcome to python
docker-node-mongo | Spawned to python
docker-node-mongo | Finally
docker-node-mongo | Failed to start child.
docker-node-mongo | Finished collecting data chunks.
docker-node-mongo | Child process exited with code -2
docker-node-mongo | GET /python - - ms - -
(可能不存在)。
尝试将行return view('jobs.myjob',compact('jobs'));
更改为JobController.php
,更改后它指向resources/views/jobs/myjob.blade.php
,这应该可以解决您的问题。