问题介绍:
使用环境:laravel58
我想使用资源管理器进行跳转,路由代码如下:
Route::group(['namespace'=>'Admin','prefix'=>'admin','middleware'=>'adminLogin'],function(){
Route::resource('list','ListController');
});
ListController代码如下:
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class ListController extends Controller
{
public function index(){
return view('admin.newlist');
}
}
在模板页面使用url进行跳转,跳转代码如下:
<div class="col-md-3 pt-4 manage-left" >
<ul class="list-unstyled">
<li>
<a href="{{url('admin/list')}}" class="text-link">新闻列表</a>
</li>
</ul>
</div>
访问此页面,报了错误: 说list这个路由没有定义,确实没有定义(因为在路由代码那里被我注释了),但是这个模板页面我也没有使用命名为list的路由,因为也被我注释了。所以从逻辑上来讲是没有问题的,但还是报错了,下面给出解决方法。
解决方法:
我用的编译器是HBuilder X 3.2.3,在注释的时候使用了快捷键结果一出来就是这样的效果: <!-- <a>...</a> --> 实际上应该是这样的: {{-- <a>...</a> --}} 所以将上述模板页面代码改成:
<div class="col-md-3 pt-4 manage-left" >
<ul class="list-unstyled">
<li>
<!-- 跳转 两种方式 url 和 路由命名-->
<a href="{{url('admin/list')}}" class="text-link">新闻列表</a>
{{-- <a href="{{route('list')}}" class="text-link">新闻列表</a> --}}
</li>
</ul>
</div>
即可成功运行(虽然编译器上没有被注释的样式)。 补充: 通过 php artisan route:list 可以查看自定义路由列表: 这里我使用了资源管理器,资源管理器给当前URI起的名字是“list.index”,所以这里有另外一种跳转方式:
<a href=" {{route('list.index')}}" class="text-link">新闻列表</a>
另外感谢评论区的c l o u d的帮助。
|