Problemas con Helper

edited febrero 2010 in Dudas/Problemas
Buenas noches!
Tengo un problema con un select_tag, resulta que quiero poner en mi view un select_tag que en el option me muestre dos valores de dos campos de una tabla(fecha_inicial y fecha_final) pero no he podido hacerlo, al decirle que me muestre los dos campos no lo hace porque asume que el nombre del campo es la unión de las dos cadenas que estoy llamando
'option' => 'fecha_inicial - fecha_final'
. Bueno, por ese lado y buscando en el helper tags del core encontré algo como "separator: separador de valores para los campos de la opción "...pero no encontré ningún ejemplo de como usarlo.

Dado ese orden de ideas me decidí a crear un helper que me genere un select:
class Semestre{
    public static function semestreSelect($value=null) {
    $Semestre = Load::model('intervalosemestral');
    $code = "<select name='reserva.intervalosemestral_id'>";
    $code .= "<option>Seleccione...</option>";
    foreach($Semestre->find() as $semestre) {
        $code .= "<option value=\"$semestre->id\"";
        if($semestre->id == $value) {
            $code .= ' selected="selected"';
        }
        $nombre = $semestre->fecha_inicial.' - '.$semestre->fecha_final;
        $code .= ">$nombre</option>";
    }
    $code .= '</select>';

    echo $code;

Acá empieza el problema,cuando llamo mi helper desde la vista:
<?php View::helpers('Semestre');?>
        .
        .
        .
      <tr>
         <td>Semestre</td>
         <td><?php    Semestre::semestreSelect();?></td>
     </tr>
Al enviar los datos al método create() del controlador me dice que el campo intervalosemestral_id no puede ser null, es como si no le llegara el id de la opción que estoy escogiendo. Usé el onchange=alert(this.value); para verificar si estaba tomando el id y efectivamente el alert me muestra el id escogido.

No se como enviar desde el helper a un método en el controlador el id escogido y que mantenga la persistencia(supongo que con $this->docentes_id = $docentes_id...dentro del método del controller)

Tampoco se como nombrar el select que cree en el helper(reserva.intervalosemestral_id).

PD: Estoy usando la versión spirit.
Agradezco cualquier ayuda!

Comentarios

  • el problema es que no estas dando el name correcto al input, deberia ser asi...
    ...name="reserva[intervalosemestral_id]"...
    
  • Waw por que las cosas que parecen tan difíciles resultan ser tan triviales?
    Muchísimas gracias por la ayuda, funcionó de maravilla!
Sign In or Register to comment.