wstawiam rozwiązanie może komuś się przyda. Bardzo dzięki za naprowadzenie jak rozwiązać 'zagadkę' ;D btw. Manual Cake jest naprawdę bardzo dobrze opisany.
W default.ctp dodajmy
<?php echo $javascript->link(array('jquery-1.6.2.min', 'prototype', 'scriptaculous')); ?>
CarsController.php
<?php
class CarsController extends AppController{
var $name = 'Cars';
var $helpers = array('Html','Form','Ajax'); var $components = array('RequestHandler'); var $uses = array('Modeles','Makes', 'Cars');
function add(){
$Makes = $this -> Makes -> find('list');
$conditions = array( 'order' => 'Modeles.make_id' ); $this -> set('Make', $Makes);
}
function update_select(){
$Modele = $this -> Modeles -> find('list', array('conditions' => array('make_id' => $this -> data['Cars']['Make_id']))); $this -> set('Modele', $Modele);
}
}
?>
WIDOK ADD.CTP
<h2>New Car</h2>
<?php echo $this->Form->create('Cars'); ?> <?php echo $this->Form->input('Make_id', array('options' => $Make, 'empty' => ''), null, array('id' => 'make_id', 'label' => 'Marka'));?> <?php $options = array('url' => 'update_select','update' => 'CarsModeleId');?> <?php echo $ajax->observeField('CarsMakeId', $options);?> <?php echo $this->Form->input('Modele_id', array('options' => '', 'empty' => ' '), null, array('id' => 'modele', 'label' => 'Model'));?> <?php echo $this->Form->end(); ?>
WIDOK UPDATE_SELECT.CTP
<?php
echo "<option value=\"\"> </option>\n"; foreach($Modele as $k => $v) {
echo "<option value=\"$k\">$v</option>\n"; }
?>