Pour faire ce que tu souhaite, il faut que ton formulaire génère un tableau pour ta table associé à posts.
Pour le helper Form, ça passe par la convention de nommage des champs.
Du coup ton formulaire ressemblera à ça à peu prés
<?php echo $this->Form->create('Post', array(...)); ?>
<?php echo $this->Form->input('name', array(...)); ?>
<?php echo $this->Form->input('content', array(...)); ?>
<div id="block-0">
<?php echo $this->Form->input('Bloc.0.ville', array(...)); ?>
<?php echo $this->Form->input('Bloc.0.temps', array(...)); ?>
...
</div>
<div id="block-1">
<?php echo $this->Form->input('Bloc.1.ville', array(...)); ?>
<?php echo $this->Form->input('Bloc.1.temps', array(...)); ?>
...
</div>
etc...
Ensuite, dans ton controller Post, lorsque tu vas récupérer les données de ton formulaire, le $this->request->data vas ressembler à cela
array('Post' => array(
'name' => 'blabla',
'content' => 'blabla'
),
'Bloc' => array(
array(
'ville' => 'blabla',
'note' => '10'),
array(
'ville' => 'blabla',
'note' => '10'),
array(
'ville' => 'blabla',
'note' => '10')
));
Enfin, tu fais un saveAssociated
$this->Post->saveAssociated($this->request->data)
et ça devrait passé !
pour ajouter un bloc, fait une petite fonction js qui appel un element correspondant au code d'un bloc et passe lui en paramètre une variable $i incrémentée à chaque ajout d'un bloc. La variable te servira à numéroter les tableaux dans le tableau Bloc ;) !