Laravel:Formファサードについて
解決したいこと
本の在庫管理システムを作成しています。
@foreach ($books as $book)
……
<td style="width: 30%">
<a href="{{ action('BookController@show', [$book]) }}">
<button type="button" class="btn btn-primary">詳細</button>
</a>
<a href="{{ action('BookController@edit', [$book]) }}">
<button type="button" class="btn btn-primary">編集</button>
</a>
<div style="display: inline-flex">
{{ Form::open(['method' => 'delete', 'url' => action('BookController@destroy', [$book])]) }}
{{ Form::submit('削除', ['class' => 'btn btn-danger']) }}
{{ Form::close() }}
</div>
</td>
@endforeach
このように削除ボタンを用意しています。
簡単に説明すると、本のリストをforeachで表示していて、その行の右端にアクションボタンとして、削除ボタンを用意しています。
2行目以降は、正常に削除できるのですが、1行目の削除ボタンが機能しないです。
開発者ツールを見ると
//1行目
<input name="_method" type="hidden" value="DELETE">
<input name="_token" type="hidden" value="CLOKiLCPl2Ggr3IdbliPD14SLlXdBKgJzS33Hwoy">
<input class="btn btn-danger" type="submit" value="削除">
//2行目以降
<form method="POST" action="(url.....)/book/2" accept-charset="UTF-8">
<input name="_method" type="hidden" value="DELETE">
<input name="_token" type="hidden" value="CLOKiLCPl2Ggr3IdbliPD14SLlXdBKgJzS33Hwoy">
<input class="btn btn-danger" type="submit" value="削除">
</form>
と、formタグで囲まれていないようです。
あと、1行目だけちょっと浮いてます。
他の部分でファサードを使って書いているので、ここでもファサードを使いたいのですが。
何か原因はわかる人はいますか?
[追記]
複数ボタンを増やすと
<div style="display: inline-flex">
{!! Form::open(['method' => 'DELETE', 'url' => action('BookController@destroy', [$book])]) !!}
{!! Form::submit('削除', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}
{{ Form::open(['method' => 'DELETE', 'url' => action('BookController@destroy', [$book])]) }}
{{ Form::submit('削除', ['class' => 'btn btn-danger']) }}
{{ Form::close() }}
</div>
1行目の長いところは機能しないままですが、その右の削除ボタンは機能します。
0