Laravel 模态绑定给出路由未找到错误
Laravel modal binding gives route not found error
我正在使用 laravel 4.2 开发简单粗暴的应用程序。这是我 edit/update.
的控制器方法
class ProductsController extends BaseController{
public function getEdit($id){
$product=Products::find($id);
$this->layout->content=View::make('products.edit',compact('product'));
}
}
这是 edit.blade.php 文件的一部分
{{ Form::model($product, ['route' => ['products/update', $product->id], 'method' => 'patch']) }}
我在 route.php 文件中定义了 ProductsController 的路由
Route::controller ( 'products', 'ProductsController');
当我尝试编辑产品时(http://localhost:8000/products/5/edit)
它说 路线 [products/update] 未定义。
这是我的编辑 link
<a class="btn btn-small btn-info" href="{{ URL::to('products/' . $product->id . '/edit') }}">Edit </a>
这个错误的原因是什么?我已经在产品控制器上定义了 patchUpdate() 函数。
您使用的是路由控制器,而不是足智多谋的控制器 - 因此没有 'named' 路由。
你可以这样做
{{ Form::model($product, ['action' => 'ProductsController@putEdit', $product->id], 'method' => 'patch']) }}
在您的 routes.php 文件中添加以下行
Route::model('products', 'Product');
Route::resource('products', 'ProductsController');
并更改@The Shift Exchange 建议的内容
products.update not products/update
也改变
<a class="btn btn-small btn-info" href="{{ URL::to('products/getEdit/'. $product->id) }}">Edit </a>
我正在使用 laravel 4.2 开发简单粗暴的应用程序。这是我 edit/update.
的控制器方法class ProductsController extends BaseController{
public function getEdit($id){
$product=Products::find($id);
$this->layout->content=View::make('products.edit',compact('product'));
}
}
这是 edit.blade.php 文件的一部分
{{ Form::model($product, ['route' => ['products/update', $product->id], 'method' => 'patch']) }}
我在 route.php 文件中定义了 ProductsController 的路由
Route::controller ( 'products', 'ProductsController');
当我尝试编辑产品时(http://localhost:8000/products/5/edit)
它说 路线 [products/update] 未定义。
这是我的编辑 link
<a class="btn btn-small btn-info" href="{{ URL::to('products/' . $product->id . '/edit') }}">Edit </a>
这个错误的原因是什么?我已经在产品控制器上定义了 patchUpdate() 函数。
您使用的是路由控制器,而不是足智多谋的控制器 - 因此没有 'named' 路由。
你可以这样做
{{ Form::model($product, ['action' => 'ProductsController@putEdit', $product->id], 'method' => 'patch']) }}
在您的 routes.php 文件中添加以下行
Route::model('products', 'Product');
Route::resource('products', 'ProductsController');
并更改@The Shift Exchange 建议的内容
products.update not products/update
也改变
<a class="btn btn-small btn-info" href="{{ URL::to('products/getEdit/'. $product->id) }}">Edit </a>