Structure: views/agents/alert/index.blade.php
表格删除'通知':
{{ Form::open(
array('url'=>'agents/alert/delete/'. $alerts->id, 'role'=>'form')) }}
{{ Form::hidden('_method', 'DELETE') }}
<button type="submit" class="btn btn-warning" id="archive">Archive</button>
{{ Form::close() }}
AgentsController:
public function destroy($id)
{
$alert = Alert::find($id);
$alert->delete();
return Redirect::to('/agents/')
->with('message-success', 'Your alert was successfully archived.');
}
routes.php文件: / *代理商的路线* /
Route::get('agents/alert/{id}', 'AgentsController@Show');
Route::get('agents/alert/delete/{id}', 'AgentsController@Destroy');
Route::controller('agents', 'AgentsController');
我正确引用了用户按下删除时调用的URL,但是,显示的错误是“找不到控制器方法”。
任何我感恩的帮助。
答案 0 :(得分:2)
您应该对资源执行DELETE。
如果您有包含唯一网址agents/alert/{id}
的提醒,则应在同一网址上执行DELETE方法。
Route::delete('agents/alert/{id}', 'AgentsController@Destroy');
创建一个可以提交以删除资源的表单:
{{ Form::open(array('method' => 'DELETE', 'action' => array('AgentsController@Destroy', $alert->id))) }}
有关RESTful控制器的更多信息here。
还尝试使用named routes
代替action
。