【发布时间】:2020-01-04 11:13:44
【问题描述】:
当我转到页面时:blog.local/user/1 它返回此错误:
缺少 [Route: update_user] [URI: 用户/{用户}/更新]。 (看法: C:\xampp\htdocs\blog\resources\views\login_pages\user.blade.php)
这是user.blade.php的视图:
<h2 class="mypositionclass" > welcome user: {{$user->surname . " " . $user->name}}</h2>
<hr>
<div style="text-align: center" >
{{Form::open(['route'=>'update_user' , 'id' => $user->id]) }}
<div>
{{Form::label('name','Name: ',['style'=>'h3'])}}<br>
{{Form::text('name','',['class'=>'input', 'placeholder'=>'insert name..'])}}
</div>
<div>
{{Form::label('surname','Surname: ',['style'=>'h3'])}}<br>
{{Form::text('surname','',['class'=>'input', 'placeholder'=>'insert surname..'])}}
</div>
<div>
{{Form::label('email','Email: ',['style'=>'h3'])}}<br>
{{Form::email('email','',['class'=>'input', 'placeholder'=>'insert email..'])}}
</div>
<div>
{{Form::label('password','Password: ',['style'=>'h3'])}}<br>
{{Form::password('passeword',['class'=>'input', 'placeholder'=>'insert password..'])}}
</div>
<div>
{{Form::submit('update',['class'=>'button', 'style' => 'background-color: blue'])}}<br><br>
{{Form::close()}}
</div>
</div>
这是路线:
Route::post('/user/{user}/update', 'Login_pageController@update')->name('update_user');
这是来自Login_pageController.php的函数update():
public function update(Request $request, $id)
{
$request::validate([
'name'=>'required',
'surname'=>'required',
'email'=>'required',
'password'=>'required'
]);
$user=User::findOrFail($id);
$user->name= $request->name;
$user->surname= $request->surname;
$user->email= $request->email;
$user->password= $request->password;
$user->save();
return view('login_pages.login_page');
}
【问题讨论】:
-
我认为你可以只使用
{{ Form::open(['route'=>'update_user', $user->id]) }}(删除'id' =>),或者将其作为数组传递{{ Form::open([ 'route'=>'update_user' , ['id' => $user->id] ]) }} -
酷!。有人写了一个答案然后删除了它,我不知道为什么。请注意,LaravelCollective 也有 Form Model Binding 供您进行更新时使用
-
@sergioo 在 SO 上说
thank you的最佳方式是accept和upvote@porloscerros-Ψ 回答。