我在一个我继承的网站上工作,在连接控制器时遇到了一些小问题。
当我访问网址www.domain.com/横幅/统计时,它不会返回任何信息。
我还注意到,当我试图通过横幅统计链接到这个页面时,这也给了我主页上的一个错误。
Routes.php
Route::resource('banners', 'BannerController');
Route::get('banners/{banners}/activate', 'BannerController@activate');
Route::get('banners/{banners}/deactivate', 'BannerController@deactivate');
Route::get('banners/{banners}/delete', 'BannerController@delete');
Route::get('banners/{banners}/preview', 'BannerController@preview');
Route::any('banners/{banners}/cropresize', 'BannerController@cropresize');
Route::get('banners/statistics', 'BannerController@statistics');BannerController.php
public function create()
{
$data['title'] = 'Create Banner';
$data['disciplines'] = Discipline::lists('name', 'id');
return View::make('admin.banners.create', $data);
}
public function statistics()
{
return View::make('admin.banners.statistics');
}发布于 2014-08-18 16:59:28
资源控制器为您提供多个路由。
包括:
GET /resource/{resource}重定向到控制器的显示动作。
所有已创建路由的列表:http://laravel.com/docs/controllers#resource-controllers
所以当你打电话
横幅/统计数字
Laravel认为你想用“统计”作为参数来调用这个表演动作。
为了避免这种情况,您可以将所有自定义路由置于资源控制器路由之上。
Route::get('banners/{banners}/activate', 'BannerController@activate');
Route::get('banners/{banners}/deactivate', 'BannerController@deactivate');
Route::get('banners/{banners}/delete', 'BannerController@delete');
Route::get('banners/{banners}/preview', 'BannerController@preview');
Route::any('banners/{banners}/cropresize', 'BannerController@cropresize');
Route::get('banners/statistics', 'BannerController@statistics');
Route::resource('banners', 'BannerController');这样,Laravel将在资源控制器创建的路由之前调用您的自定义路由。
如果不需要某些资源控制器路由,也可以使用only和except。
Route::resource('banners', 'BannerController',
array('except' => array('show')));https://stackoverflow.com/questions/25367690
复制相似问题