2015-06-11 69 views
0

你好,所以我想在Laravel中使用纯html做一个更新表单。我的编辑表单的网址是http://localhost:8000/profile/sorxrob/editsorxrob是用户名。而在该网址的代码是:Laravel 5 Plain Html MethodNotAllowedHttpException

<form class="form-horizontal" role="form" action="" method="POST"> 
<input type="hidden" name="_token" value="{{ csrf_token() }}"> 
<input name="_method" type="hidden" value="PATCH"> 
//more inputs 
</form> 

,并在我的控制器命名为AccountController

public function update(Request $request, $id) 
{ 
    $account = Accounts::findOrFail($id); 
    $input = $request->all(); 
    $account->fill($input)->save(); 
    return 'success'; 
} 

而且我得到的错误MethodNotAllowedHttpException当我点击更新按钮。是因为我的行动等于没有?如果是,那么在那里路由的正确方式是什么?

回答

2

这是由于您的动作url不正确的路由URL。使用以下

(1)首先在route.php文件中定义的路由

Route::post('profile/{username}/edit', array('as' => 'profile.update', 'uses' => '[email protected]')); 

(2)从你的表单标签

action="{{ URL::route('profile.update', [$username]) }}" 

更改action属性在这里$用户名变量从您的AccountController @ edit方法传递。

相关问题