データベースに保存されたすべてのコミックを含むテーブルがあります。このテーブルでは、ユーザーは任意の行を削除できます。
削除アクションは、ビューの postLink です。
<?php
echo $this->Form->postLink(
__('<i class="glyphicon glyphicon-trash"></i>'),
array(
'action' => 'delete', $contratos[0]['Contrato']['id'],
$comissao['ContratoComissionario']['id']
),
array(
'class' => 'btn btn-danger btn-xs',
'escape' => false,
'data-toggle'=>'tooltip',
'title' => 'delete'
),
__('Você tem certeza de que deseja deletar essa comissão?')
);
?>
これはコントローラーです:
public function delete($idContrato = null, $id = null) {
if (!$this->request->is('post')) {
throw new MethodNotAllowedException();
}
$this->ContratoComissionario->id = $id;
if (!$this->ContratoComissionario->exists()) {
throw new NotFoundException(__('Comissão inválida'));
}
if ($this->ContratoComissionario->delete()) {
$this->Session->setFlash(__('Comissão deletada com sucesso'), 'flash/success');
$this->redirect(array('action' => 'add', $idContrato));
}
$this->Session->setFlash(__('Comissão não pôde ser deletada'), 'flash/error');
$this->redirect(array('action' => 'index', $idContrato));
}
削除アクションは、テーブル内のすべての行に対してチャームのように機能しますが、最初の行です。最初の削除アイコンをクリックすると、確認メッセージが表示され、他に何も起こりません。
最初の行のフォームが作成されていないことがわかりました。これは、2 番目のアイコン用に生成された HTML です。
<td>
<form action="/ModuloContratos/ContratoComissionarios/delete/3/11" name="post_55fc1552e0890053880032" id="post_55fc1552e0890053880032" style="display:none;" method="post"><input type="hidden" name="_method" value="POST">
</form>
<a href="#" class="btn btn-danger btn-xs" data-toggle="tooltip" title="" onclick="if (confirm("Voc\u00ea tem certeza de que deseja deletar essa comiss\u00e3o?")) { document.post_55fc1552e0890053880032.submit(); } event.returnValue = false; return false;" data-original-title="delete">
<i class="glyphicon glyphicon-trash"></i>
</a>
</td>
これは、最初のアイコン用に生成された HTML です。
<td>
<input type="hidden" name="_method" value="POST">
<a href="#" class="btn btn-danger btn-xs" data-toggle="tooltip" title="" onclick="if (confirm("Voc\u00ea tem certeza de que deseja deletar essa comiss\u00e3o?")) { document.post_55fc1552e0113745519359.submit(); } event.returnValue = false; return false;" data-original-title="delete">
<i class="glyphicon glyphicon-trash"></i>
</a>
</td>
postLink にすべての行のフォームを作成させるにはどうすればよいですか? CakePHP 2.7.2 を使用しています。