链接按钮在Laravel中不起作用

时间:2018-06-09 16:16:00

标签: laravel

我想在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');

一切看起来都不错,但我不知道这里出了什么问题 提前感谢任何帮助。

1 个答案:

答案 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>