我想在laravel中编辑CRUD应用程序中的记录,其中我有一个已链接的按钮转到索引视图但是当我单击它时,它会将我重定向到控制器的UPDATE方法。
这是我的表格:
{!! Form::open(['route' => ['players.update', $player->id], 'method' => 'PUT', 'files'=>'true']) !!}
<div class="row col-md-10 col-md-offset-1 panel">
<div class="col-md-8 col-md-offset-2">
<br />
<div class="form-group">
{{ Form::label('name', 'Player Name') }}
{{ Form::text('name', $player->name, ['class' => 'form-control']) }}
</div>
<div class="form-group">
{{ Form::label('file', 'Upload Image') }}
{{ Form::file('pic') }}
</div>
<div class="form-group">
{{Form::button('Save Record', ['type' => 'submit', 'class' => 'btn btn-success'])}}
{!! Form::close() !!}
<a href="{{ route('players.index') }}">
<button class="btn btn-danger" >Cancel</button>
</a>
</div>
</div>
</div>
我有以下按钮返回索引页面,但这是带我到控制器的UPDATE方法:
<a href="{{ route('players.index') }}">
<button class="btn btn-danger" >Cancel</button>
</a>
这是我在控制器中的索引方法:
public function index()
{
$players = Player::paginate(5);
return view('players.index', compact('players'));
}
这是控制器中的UPDATE方法:
public function update(Request $request, $id)
{
return "Hi";
}
这是我的路线档案内容:
Route::resource('news', 'NewsController');
Route::resource('competition', 'CompetitionsController');
Route::resource('players', 'PlayersConroller');
一切看起来都不错,但我不知道这里出了什么问题 提前感谢任何帮助。
答案 0 :(得分:1)
我不确定它是否会解决您的问题,请尝试将您的按钮代码放在form-group div之外。
您可以将代码更改为
<a href="{{ route('players.index') }}" class="btn btn-danger">Cancel</a>
你可以检查你的html你把表格标签中的按钮提交到哪个类型提交,这就是为什么它再次提交表格。
将表单代码替换为:
<div class="row col-md-10 col-md-offset-1 panel">
<div class="col-md-8 col-md-offset-2">
{!! Form::open(['route' => ['players.update', $player->id], 'method' => 'PUT', 'files'=>'true']) !!}
<br />
<div class="form-group">
{{ Form::label('name', 'Player Name') }} {{ Form::text('name', $player->name, ['class' => 'form-control']) }}
</div>
<div class="form-group">
{{ Form::label('file', 'Upload Image') }} {{ Form::file('pic') }}
</div>
<div class="form-group">
{{Form::button('Save Record', ['type' => 'submit', 'class' => 'btn btn-success'])}}
</div>
{!! Form::close() !!}
</div>
<a href="{{ route('players.index') }}">
<button class="btn btn-danger">Cancel</button>
</a>
</div>