我有一个Laravel应用程序,我用它来创建RESTful API。
使用分组路由时,我的资源控制器中的编辑/更新方法存在一些问题。
当我删除路径分组时,控制器按预期工作。
我的路线如下:
Route::group(array('prefix' => 'api/v1'), function()
{
Route::resource('/trip', 'TripController');
});
因此,使用此我的RESTFul端点应如下所示:
GET /api/v1/trip/{resource}
GET /api/v1/trip/{resource}/edit
PUT /api/v1/trip/update/{resource}
GET /api/v1/trip/create
POST /api/v1/trip/store/{resource}
等
除修改和更新端点外的所有工作。
当我点击 / api / v1 / trip / {resource} / edit 时出现以下错误
Unable to generate a URL for the named route "trip.update" as such route does not exist.
我的控制器编辑方法只是一种快速的测试形式。它看起来像:
public function edit($id)
{
$oTrip = new Trip;
$oTrip = $oTrip->find($id);
echo Form::model($oTrip, array(
'route' => array('trip.update', $oTrip->id),
'method' => 'PUT'
));
echo Form::text('headline');
echo Form::text('description');
echo Form::submit('Click Me!');
echo Form::close();
}
Laravel似乎无法在分组路线中找到 trip.update 。 我认为群组前缀 api / v1
存在问题当我将组代码注释掉时只读:
Route::resource('/trip', 'TripController');
...并且在没有 api / v1 前缀的情况下访问uri就像 / trip / {resource} / edit 一样,一切正常。
有什么我想念的吗? 我真的希望使用分组和 api / v1 前缀。