我正在使用路由前缀,我想出了一个问题而不确定如何修复它。
第一个实际问题是,我可以保持链接与添加前缀之前的链接相同吗?
以前我有链接,例如我的路线是这样的。
<a href="{{ route('users.edit', $user->id) }}">Edit</a>
Route::resource('users', 'UsersController');
但是现在我已经在一组路由中添加了一个前缀,以便链接显示为mysite.com/backstage/users。
Route::group(array('prefix' => 'backstage'), function()
{
Route::resource('users', 'UsersController');
});
所以现在有了我的所有观点,我必须浏览每一个并编辑所有链接,使它们看起来像这样,或者我可以做一些不同的事情,这样我就能以不同的方式处理这种情况。
<a href="{{ route('backstage.users.edit', $user->id) }}">Edit</a>
我也担心我的应用程序的面包屑。
<?php
Breadcrumbs::register('users.index', function($breadcrumbs) {
$breadcrumbs->parent('home');
$breadcrumbs->push('Users', route('backstage.users.index'));
});
我是否必须包括后台或者我可以保留它吗?
答案 0 :(得分:1)
我知道这样做的唯一方法是将名称作为第三个参数传递,如:
Route::resource('users', 'UsersController',
['names'=>['index'=>'users', 'store'=>'users.store']]);
很多人都避免使用资源路由。菲尔在这里解释了一些推理Beware the route to evil。基本上他说这可能是一场噩梦,如果你或其他人稍后再回过头来弄清楚。你经常会遇到一些特殊情况,你先把它放在资源中,这样它们就会先在路由中被击中,整个事情就变得一团糟。