Laravel - 即使路线存在也找不到页面
Posted
技术标签:
【中文标题】Laravel - 即使路线存在也找不到页面【英文标题】:Laravel - Page not found even that the Route exists 【发布时间】:2018-12-04 02:25:12 【问题描述】:我有这条路线:
Route::get('/dashboard/tags/edit/tag','UsersController@editTagIndex');
这是我的表单操作:
action="/dashboard/tags/edit/$tag->id" method="get"
它让我找不到页面,因为没有路线!
我试过了:php artisan route:list
并且路线存在
没有意义的是我有另一条路线:
Route::get('/dashboard/posts/edit/post','UsersController@editPostIndex');
而且效果很好
【问题讨论】:
您能解释一下为什么要使用 get 进行表单操作吗?为什么没有单独的帖子和标签控制器? 查看页面源中的URL @DouwedeHaan 我将一个控制器用于管理员 我现在只是将其命名为 UsersController,稍后我将对其进行更改,并在此处更改 get 方法,因为我使用与此页面相同的 URL 的 post 方法应该调用的路线 @DouwedeHaan 我刚开始学习 php 和 laravel 就像 5 天前一样 @DsRaj 其他每条路线都可以正常工作,但这条路线是问题,我有另一条路线,我从它那里复制了这条路线,它工作正常 【参考方案1】:您好,也许这可以解决问题:
action=" action('UsersController@editTagIndex', [tag => $tag_id]) "
祝你好运
【讨论】:
找不到相同的问题页面 你确定你的控制器上存在editTagIndex函数吗! 提交表单后得到的url是什么?http://127.0.0.1:8000/dashboard/tags/edit/7?_token=nMQUrgiZhNW53EjvKzYAOFJ3L5oHKlvKWZKPIYws
再想一想,试着把你的路线Route::get('/dashboard/tags/edit/tag','UsersController@editTagIndex');
放在你的route.php文件的第一个位置【参考方案2】:
也许这应该是一个发布请求,因为您正在提交一个编辑功能。
【讨论】:
找不到相同的页面 感谢您尝试帮助我自己修复了它:)【参考方案3】:问题是我的标签模型中有这个功能
public function getRouteKeyName()
return 'name';
所以不要在表单操作中传递 $tag->id
我通过了 $tag->name
感谢大家的帮助
【讨论】:
以上是关于Laravel - 即使路线存在也找不到页面的主要内容,如果未能解决你的问题,请参考以下文章
即使文件存在,Composer 也找不到 composer.json 文件
JasperException - 即使存在标签也找不到文件