Atascado embeber formulario relacion 1:N

91 views
Skip to first unread message

Elivi

unread,
Nov 23, 2009, 7:14:23 AM11/23/09
to symfony-es
Hola , estoy en propel intentar embeber un formulario con una relacion
entre 2 tablas 1 a N en propel y no lo consigo, le he dedicado ya
varias horas y al final tengo que pedir ayuda con este mensaje porque
no doy con la solucion.

La situacion es la siguiente, Una entidad A y una entidad B. La
relacion que las une es 1 a N.
Los elementos de la entidad B ya estan creados.

Cuando quiero crear un elemento B, quiero embeber un formulario con A
para relacionarlo y dejarlo echo de una vez. Entonces al crear A tengo
que crear un nuevo campo o formulario para elegir un elemento de B, y
si todo esta bien relacionarlo.

Problema: No consigo sacar el id del elemento recien creado de A ( si
todo esta bien).

Me he revisado la secuencia de llamadas en las siguientes paginas
http://www.nacho-martin.com/dentro-de-form-bind-de-symfony,
http://sandbox-ws.com/frameworks/symfony-frameworks/how-to-embed-forms-in-symfony-12-admin-generator-part-2,
mirado los foros y redefinido algunos metodos como el bind, para
obtener el objeto B seleccionado y actualizarlo con el id de A , pero
nada de nada.


Alguien podria ayurdame? Muchas gracias.

williams

unread,
Nov 23, 2009, 11:16:08 AM11/23/09
to symfo...@googlegroups.com
Hello men, yo una vez use eso de embeber form. En mi caso tenía una entidad llamada Cuestionario  y Preguntas, se relacionaban 1:N. Un cuetionario tiene 1:N Preguntas jejeje. Mira el ejemplo:

En el form cuestionario donde voy a meter los form preguntas tengo esto:
<?php

/**
 * Cuestionario form.
 *
 * @package   
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfPropelFormTemplate.php 10377 2008-07-21 07:10:32Z dwhittle $
 */
class CuestionarioForm extends BaseCuestionarioForm
{
  public function configure()
  {
      unset($this['created_at'], $this['updated_at']);
      $this->widgetSchema['usuario_id'] = new sfWidgetFormInputHidden();
    $this->widgetSchema['status'] = new sfWidgetFormInputHidden();
    $this->widgetSchema['nro_preguntas'] = new sfWidgetFormInputHidden();
     
      $this->widgetSchema->setLabels(array(
      'descripcion'  => '<p class="texto_pagina">Descripci&oacute;n</p>',
      'codigo'       => '<p class="texto_pagina">C&oacute;digo</p>',
    ));     
     
      $preguntas = $this->getObject()->getPreguntas();
      if($preguntas){
          foreach($preguntas as $index => $pregunta){
          $fieldName = 'pregunta_'.$pregunta->getId();
     
          $form = new PreguntaCuestionarioForm($pregunta);
          unset($form['cuestionario_id']);
           
          $form->widgetSchema->setLabel('texto_pregunta', '<p class="texto_pagina">Pregunta</p>');
          $this->embedForm($fieldName, $form);

          $label = '<input type="submit" name="submit" value="eliminar">';
          /*if (count($preguntas) - 1 == $index)
          {
            // this is the last book
            $label.= '<input type="submit" name="submit" value="insert">';
          }
          $label.= ' Pregunta '.($index+1);*/
     
          $this->widgetSchema->setLabel($fieldName, $label);
             
          }
       
      }else{
         
      } 
     
    $context = sfContext::getInstance();
    $idUser = $context->getUser()->getAttribute('id');
    $this->setDefault('usuario_id', $idUser); 
    if($this->isNew()){
        $this->setDefault('status', 'N');
        $this->setDefault('nro_preguntas', 0);
    }else{
          // creamos un nuevo objeto Pregunta
         $pregunta = new PreguntaCuestionario();
         $pregunta->setCuestionario($this->getObject());
     
            $formNew = new PreguntaCuestionarioForm($pregunta); 
          $formNew->widgetSchema->setLabel('texto_pregunta', '<p class="texto_pagina">Pregunta</p>');                   
            unset($formNew['cuestionario_id']);
          $this->embedForm('new_pregunta', $formNew);   
          $this->widgetSchema->setLabel('new_pregunta', '<p class="texto_pagina">Nueva pregunta</p>');               
    }    
  }
}
Como puedes ver, la validacion del if es para cuando se crea un cuestionario la primera ves que no tiene preguntas y sirve para cuando se va a modificar un Cuestionario especifico y obtener las preguntas para el cuestionario en cuestion.

Con respecto a la línea  donde sale
      $preguntas = $this->getObject()->getPreguntas();

Ese metodo lo programe en
class Cuestionario extends BaseCuestionario
{
    public function __toString(){
        return self::getDescripcion();
    }
   
    public function getPreguntas(){
        $c = new Criteria();
        $c->add(PreguntaCuestionarioPeer::CUESTIONARIO_ID, $this->getId());
        $result = PreguntaCuestionarioPeer::doSelect($c);
        return $result;
    }
}

Espero que te sirva y que uses propel porque fue lo que use ahí jejejeje pero igual el propel solo es necesario para buscar las preguntas asociadas al cuestionario jejejeje.

Suerte
murkein


--- El lun 23-nov-09, Elivi <eli...@gmail.com> escribió:


¡Obtén la mejor experiencia en la web!
Descarga gratis el nuevo Internet Explorer 8
http://downloads.yahoo.com/ieak8/?l=e1

Elivi

unread,
Nov 24, 2009, 3:50:34 AM11/24/09
to symfony-es
Hola Williams en primer lugar gracias por tu respuesta.

He estado revisando tu codigo , pero la idea del que necesito hacer es
si el objeto es nuevo, poderle relacionar con un objeto ya creado.
Es decir, las preguntas ya existen, al crear el nuevo cuestionario
deberia desplegarse un campo y elegir una pregunta de las ya creadas,
y relacionarse.

Para mi el kit de la cuestion es obtener el id del cuestionario, para
una vez validado y comprobar que esta todo correcto poder,
relacionarlo con la pregunta seleccionada.

Voy a seguir dandole aber si consigo una solucion, si la encuentro la
posteo.

Muchas gracias a tod@s.

manuel suarez

unread,
Nov 24, 2009, 2:14:39 PM11/24/09
to symfo...@googlegroups.com
dime una cosa te muestra el campo vacio???? de la foreingkey???

manuel suarez

unread,
Nov 24, 2009, 2:18:32 PM11/24/09
to symfo...@googlegroups.com
de ser así y de estar ocupando el plugin de formularios sfFormExtraPlugin puedes copiar esto en tu archivo de form ubicado el lib

$this->widgetSchema['periodista_id'] = new sfWidgetFormPropelChoice(array('model' => 'Periodista', 'add_empty' => true));

donde 'periodista_id' es la foreingkey y 'model' => 'Periodista' Bueno la tabla Periodista donde se obtiene la key

ojala te sirva

randolph octavio

unread,
Nov 24, 2009, 3:59:15 PM11/24/09
to symfony-es
Hola, si lo que quieres es llenar un campo con algunas de las opciones
que ya tienes en un modelo, puedes consultar este link: esta hecho
para doctrine, solo deberias poder adaptarlo a Propel.

Recuerda que debes cambiar tanto el widget como el Validator del
campo.

http://www.librosweb.es/symfony_formularios/capitulo11/personalizando_los_formularios_generados.html

Comienza a leer desde acá:
Listado 11-10 - Personalizando el widget

Creo que esta es la solución a tu problema.

Saludos.

Elivi

unread,
Nov 25, 2009, 3:45:00 AM11/25/09
to symfony-es
Hola , y de nuevo gracias a tod@s.

Estoy intentado buscar soluciones pero aun no doy con ella.

La idea seria una vez salvado el objeto A, actualizar el campo del
objeto B ( que ya esta creado con anterioridad) con el ID del objeto
A.

Pero ni redefinienodo los metodos bind, save... del objeto A soy capaz
de conseguirlo.


Con esta instruccion consigo cuando ni objeto A ni objeto B han sido
creados ( son los 2 nuevos ).
$this->embeddedForms['ObjetoB']->getObject()->setObjetoA($this-
>getObject());


Me tiene bastante quemado, porque creo que tiene que ser algo sencillo
y ya llevo varios dias y no encuentro la solucion.

despai

unread,
Nov 25, 2009, 7:54:50 AM11/25/09
to symfony-es
<?php

/**
* Artista form.
*
* @package hofestival
* @subpackage form
* @author despai
* @version SVN: $Id: sfPropelFormTemplate.php 10377 2008-07-21
07:10:32Z dwhittle $
*/
class ArtistaForm extends BaseArtistaForm
{
public function configure()
{
parent::configure();
sfContext::getInstance()->getConfiguration()->loadHelpers(array
('Url'));

unset($this['created_at']);

/**
* Incluimos un widget y un validador para cada foto(4)
* @author despai
*/
$i = 1; while($i<=4) {
$this->widgetSchema['foto'.$i] = new
sfWidgetFormInputFileEditable(array(
'file_src' => public_path('uploads/artistas/full/'.$this-
>getObject()->getFotoN($i),true),
'is_image' => true,
'edit_mode' => !$this->isNew(),
'template' => '%file%<br/><br/><div style="margin-left:
115px">%input%<br/>%delete% Eliminar</div>'
));

$this->validatorSchema['foto'.$i] = new sfValidatorFile(array(
'required' => false,
'path' => sfConfig::get('sf_upload_dir').'/artistas/
full',
'mime_types' => 'web_images',
'validated_file_class' => 'sfImagenesArtista'
));

$this->validatorSchema['foto'.$i.'_delete'] = new sfValidatorPass
();
$this->validatorSchema['with_delete'] = new sfValidatorBoolean
();

$i++; // 5 fotos
}


/**
* Incluimos el resto de widgets y validadores
* @author despai
*/
$this->widgetSchema['genero'] = new sfWidgetFormChoice(array(
'choices' => ArtistaPeer::$tipos_genero
));

$this->widgetSchema['bio'] = new sfWidgetFormTextarea(
array(),
array('cols' => 100,'rows' => 20)
);

/**
* Si estamos editando incluimos ArtistaDiscoForm y
ArtistaEnlaceForm
* en ArtistaForm . También un form para ambos (nuevo)
* @author despai
*/
if (!$this->isNew()) {
$i = 1;
foreach($this->getObject()->getArtistaDiscos() as $disco_actual)
{
$disco_form = new ArtistaDiscoForm($disco_actual);
$this->embedForm('disco'.$i,$disco_form);
$i++;
}

$nuevo_disco = new ArtistaDisco();
$nuevo_disco->setArtista($this->getObject());

$this->embedForm('nuevo_disco',new ArtistaDiscoForm
($nuevo_disco));
$this->widgetSchema['nuevo_disco']->setLabel('<strong>Nuevo
disco:</strong>');
$i++;
}

if (!$this->isNew()) {
$i = 1;
foreach($this->getObject()->getArtistaEnlaces() as
$enlace_actual) {
$enlace_form = new ArtistaEnlaceForm($enlace_actual);
$this->embedForm('enlace'.$i,$enlace_form);
$i++;
}

$nuevo_enlace = new ArtistaEnlace();
$nuevo_enlace->setArtista($this->getObject());

$this->embedForm('nuevo_enlace',new ArtistaEnlaceForm
($nuevo_enlace));
$this->widgetSchema['nuevo_enlace']->setLabel('<strong>Nuevo
enlace:</strong>');
$i++;
}
}

/**
* reescribimos la función bind para que no salve los forms vacíos
de disco y enlace
*
* @param array $taintedValues
* @param array $taintedFiles
* @return void
* @author despai
*/
public function bind(array $taintedValues = null, array
$taintedFiles = null) {

if(!$this->isNew()) {
if(is_null($taintedValues['nuevo_disco']['titulo']) || strlen
($taintedValues['nuevo_disco']['titulo']) === 0 ) {
$this->embeddedForms['nuevo_disco']->getObject()->setDeleted
(true);
unset($this->embeddedForms['nuevo_disco'], $taintedValues
['nuevo_disco']);
$this->validatorSchema['nuevo_disco'] = new sfValidatorPass();
}

if(is_null($taintedValues['nuevo_enlace']['url']) || strlen
($taintedValues['nuevo_enlace']['url']) === 0 ) {
$this->embeddedForms['nuevo_enlace']->getObject()->setDeleted
(true);
unset($this->embeddedForms['nuevo_enlace'], $taintedValues
['nuevo_enlace']);
$this->validatorSchema['nuevo_enlace'] = new sfValidatorPass();
}
}

// call parent bind method
parent::bind($taintedValues, $taintedFiles);

gato chlr

unread,
Nov 25, 2009, 10:54:23 AM11/25/09
to symfo...@googlegroups.com
Por que no nos mandas tu schema.yml (o un ejemplo simplificado) para que te entendamos un poco mejor, la verdad no entendí bien tu explicación del problema. :)
 


2009/11/25 despai <skk...@gmail.com>

williams

unread,
Nov 25, 2009, 12:37:25 PM11/25/09
to symfo...@googlegroups.com
Pero explicate tu mas bien que es lo que quieres hacer y danos un ejemplo mejor y no uses objeto a y b, danos las entidades y dinos el porque quieres al modificar un objeto actualizar su id en el otro si ya estan relacionados. Explicate un poco mejor  a ver si matamos esa culebra por la cabeza

murkein


--- El mié 25-nov-09, Elivi <eli...@gmail.com> escribió:

De: Elivi <eli...@gmail.com>
Asunto: [symfony-es] Re: Atascado embeber formulario relacion 1:N
A: "symfony-es" <symfo...@googlegroups.com>

Elivi

unread,
Nov 26, 2009, 4:25:05 AM11/26/09
to symfony-es
Hola, os voy a pegar el schema, que antes no queria ponerlo por no
liar mucho a la gente.

La relacion es que un propietario puede tener varios coches, pero un
coche pertenece a un propietario.
(he omitido el resto de los campos que no son fundamentales).

propietario:
_attributes: { phpName: Propietario}
id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement:
true, required: true }
nombre: { type: VARCHAR, size: '12', required: true }

coche:
_attributes: { phpName: Coche }
id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement:
true, required: true }
nombre: { type: VARCHAR, size: '15', required: true }
propietario_id: { type: INTEGER, size: '11', required: false,
foreignTable: propietario, foreignReference: id, onDelete: 'SET NULL',
onUpdate: CASCADE }
_indexes: { coche_propietario: [propietario_id]}
_uniques: { coche: [nombre] }


La situacion es que si creo al momento el propietario y el coche
perfecto.
Pero si quiero crear un nuevo propietairo y asignarle un coche no lo
consigo.

Lo mas importante , es que los coches ya estan inventariados en la
base de datos.


Sigo intentadolo, si doy con la solucion la posteo, y si alguien ha
echo algo parecido, haber si me puede indicar.

Muchas gracias de verdad por vuestro interes, me esta siendo muy util,
por lo menos no he tirado la toalla por vuestra ayuda.

williams

unread,
Nov 26, 2009, 4:26:52 PM11/26/09
to symfo...@googlegroups.com
Entonces si debe ser como dijiste hace un tiempo. Ya tenemos los coches en el stock.ahora ccuando crees un propietario debes mostrarle la lista de los coches disponibles y eso lo verificas mirando el valor de su clave foranea en la tabla.si es un coche el cual no ha sido asigando a un propietario, entonces debe tener ese valor null. Es decir, al crear un propietario, debes tener un metodo que te traiga la lista de coches pero que aun no tengan propietarios: selecte * from coches where propietario_id <> id. (id es del propietrio) 
 
no se, asi lo veo yo :S

murkein


--- El jue 26-nov-09, Elivi <eli...@gmail.com> escribió:

De: Elivi <eli...@gmail.com>
Asunto: [symfony-es] Re: Atascado embeber formulario relacion 1:N
A: "symfony-es" <symfo...@googlegroups.com>

Elivi

unread,
Nov 27, 2009, 8:13:25 AM11/27/09
to symfony-es
Si esa parte la consigo, son un sfwidgetpropelchoice, ha si que el
usuario elige uno, el probema esta a la hora de volcar los datos en la
BBDD.

Al no tener aun el id del propietario, no consigo hacer que actualize
el campo propietario_id en la tabla coches.

Modifico el save, y bind pero no doy con una solucion.

Lo unico alternativo que se me ocurre es crear el propietario, y luego
redigir a otra formulario para seleccionar un coche, pero claro lo
interesante seria poder hacerlo todo en un paso.

Muchas gracias.

randolph octavio

unread,
Nov 27, 2009, 3:43:33 PM11/27/09
to symfony-es
Hola! a mi parecer existe un problema en como tienes definido tu
Modelo de Datos. Y en como estas enfocando el problema. Me explico
mejor: Lo que tienes es una simple función de inventario donde por un
lado tienes Muchos Posible Clientes y Por otro lado Muchos posible
Coches que van a ser comprados.

Entonces yo redefiniria tu modelo a uno m2m donde el refclass de ambos
sea id_propietario y id_coche. y lo puedes comprobar con la siguiente
pregunta. ¿Como haces si un nuevo cliente queire comprar más de un
coche a la vez? con la relación que tienes definida no creo que lo
puedas en un solo paso. tendrías que hacer una transacción y luego
volver a cargar el mismo formulario para poderle asignar un nuevo
vehiculo. Por definición las relaciones 1:N solo definen una sola
transacción a la vez, esta es otra razón por la que existen las m2m.

Ahora como puedes seleccionar varios Coches al mismo tiempo?. Prueba
lo siguiente: Suponiendo que tengas 3 entidades (Propietarios, Coches,
y PropietariosCoches). la relación la defines en Propietarios y usas
el PropietarioForm. Aqui Symfony por defecto te va a incluir como
campos en el formulario cualquier relación que tengas definida sobre
la entidad a la que pertenece el Formulario sobre le que trabajas.

Entonces en el campo donde se muestran las opcines de la relacion por
lo general (coches_list) que ciertamente usa un widgetPropelChoice te
va a colocar todos los vahiculos que tengas Disponibles en tu entidad
Coches.

En fin, desde mi perspectiva hay un error estructural en tu modelo.

Todo esto desde mi humilde opinión, por lo cual te aconsejo que lo
pienses un poco más, quizas todo lo que te dije es una completa
locura, pero asi es como nosotros resolvemos los problemas con
inventarios.

Saludos.

williams

unread,
Nov 27, 2009, 10:34:03 PM11/27/09
to symfo...@googlegroups.com
Esto es otra cosa que nunca he podido hacer que symfony me la haga por si sola. la realcion m2m, quien tiene un ejemplo? que widget uso? siempre tengo que guardar las cosas por otra parte

murkein


--- El vie 27-nov-09, randolph octavio <rbara...@gmail.com> escribió:

De: randolph octavio <rbara...@gmail.com>
Asunto: [symfony-es] Re: Atascado embeber formulario relacion 1:N
A: "symfony-es" <symfo...@googlegroups.com>

gato chlr

unread,
Nov 27, 2009, 11:54:21 PM11/27/09
to symfo...@googlegroups.com
haber, por lo que veo...
 quieres en un solo formulario hacer las siguientes cosas:

1)seleccionar un cliente (futuro propietario)
2)seleccionar 1..* autos que seran asignados a ese cliente (convirtiendolo en propietario)
3)claro, enviar el form. y que se registren esos moviemientos en la DB.

si es así lo que se me ocurre es..:

1) crear un formulario con un choice para seleccionar el cliente (futuro propietario) y varios otros choices para seleccionar los coches. Seguro que esta parte ya la tienes hecha.

cuando el formulario es enviado tenemos algo asi en los en el request : (ej: request array {'user'{...},'otrosParametros'{...},'aplicacion_propietario_asignacion'{.....} }). aplicacion_propietario_asignacion es el que nos interesa (le puse ese nombre como ejemplo, el nombre lo defines en tu AsignacionPropietarioForm en configure() con el metodo $this->widgetSchema->setNameFormat('aplicacion_propietario_asignacion[%s]'); )
por que ahi adentro esta la informacion del propietario, y de los autos.

entonces hacemos:

$parametos= $request->getParameter('aplicacion_propietario_asignacion'); que nos dara un array con los parametros que el formulario contiene (ej:  'aplicacion_propietario_asignacion' array {'propietario_id' => 2 , 'auto_id_1' => array{'id'=>12,'nombre'=>'brasilia','codigo'=>fe12,'propietario_id'=>null},'auto_id_2' =>array{'id'=>25,'nombre'=>'peta','codigo'=>pe43,'propietario_id'=>null}.

supongo que el hecho de que esas negrillas esten en null son el problema que tienes, por lo que siempre te dira, "propietario_id required" o te da un error tipo "propietario_id is null" o algo asi en el navegador al lanzar el formulario.

bueno, luego obtenemos el propietario_id así :

$propietario_id=$parametros['propietario_id'];
//recorremos el array de parametros buscando por los array con la info de los //autos y les asignamos el valor de $propietario_id en su campo respectivo
foreach($parametros as $key =>$parametro){
     if(substr($key,0,4) ==='auto')
         $parametro['propietario_id']=$propietario_id; 
}

con lo anterios has rellenado los espacios propietario_id de los parametros de los autos o sea: del ejemplo que di:

'aplicacion_propietario_asignacion' array {'propietario_id' => 2 , 'auto_id_1' => array{'id'=>12,'nombre'=>'brasilia','codigo'=>fe12,'propietario_id'=>null},'auto_id_2' =>array{'id'=>25,'nombre'=>'peta','codigo'=>pe43,'propietario_id'=>null}

que ahora es:

'aplicacion_propietario_asignacion' array {'propietario_id' => 2 , 'auto_id_1' => array{'id'=>12,'nombre'=>'brasilia','codigo'=>fe12,'propietario_id'=>2},'auto_id_2' =>array{'id'=>25,'nombre'=>'peta','codigo'=>pe43,'propietario_id'=>2}

como este array lo tenemos guardado en $parametros, lo unico que tenemos que hacer es:

$request->setParameter('aplicacion_propietario_asignacion',$parametros);

que como tiene el mismo nombre reemplazara al array inicial (el que tiene nulls) para asignarle este que tenemos con todo lleno.

en este momento el $request, tiene toda la informacion para procesar tus asignaciones, asi que le haces processForm($request,$this->form);
y todo deberia registrarse enla base de datos.

Haber, hace cacho que no hago eso, pero creo que deberia darXD.

Es algo tedioso, pero tampoco encontré una forma automatica de hacer eso, prefiero ahorrarme tiempo, y seleccoinar un cliente en una pantalla , poner un buscador, que me lanze resultados de autos y elegir uno por uno, claro que muchos no estaran de acuerdo, pero bueno,es que aun no he manipulado mucho ajax :(

deberia funcionar, asi hice varias veces, no es lo mas limpio , pero funciona  saludos.





2009/11/27 williams <william...@yahoo.com>

Elivi

unread,
Dec 1, 2009, 3:45:55 AM12/1/09
to symfony-es
Disculpar la tardanza, pero estos dias he estado liado con otras cosas
y no he podido avanzar nada.

La idea es la siguiente, la tabla coches esta completada, y la tabla
de propietarios vacia.

Cuando quiero ingresar un nuevo propietario, quiero dar la opcion de
asociarlo con un vehiculo.

Entonces al formulario de nuevo propietario, embebo un formulario, con
2 campos, uno es un sfWidgetFormPropelChoice para elegir uno de los
vehiculos posibles y el otro campo es un input normal que el usuario
pondra s/n si quiere o no, asociarlo ya con un vehiculo.

Si se elige s en el campo input, entonces hay que guardar en el campo
propietario_id , el id del nuevo propietario <- aqui esta el problema.

He redefinido , de nuevo el bind, intentando en primer lugar que si
esta activo el campo s, guardar por un lado el propietario, y de ahi
intentar obtener el id, para asociarlo al objeto vehiculo,
seleccionado y hacerle un update. Pero me da error , intenta guardar
el objeto ip, en lugar de modificarlo.
Intentare redefinir Save, y haber si por ahi consigo algo.


Un saludo , gracias.

Marcos De Andrade

unread,
Dec 1, 2009, 7:26:49 AM12/1/09
to symfo...@googlegroups.com
if($form->isValid()){

if($request->getParameter('siono')=="s"){

$persona = new Persona();

$persona->save();

$id = $persona->getId();

despues aqui haces un update con doctrine o propel pasandole lo que quieras
pruebalo cualquier cosa me avisas
--
Symfony Community Programmer

Elivi

unread,
Dec 2, 2009, 4:01:53 AM12/2/09
to symfony-es
Hola Marcos, el trozo de codigo que has posteado funciona
perfectamente en el action, pero al intentar hacerlo en el bind del
formulario no tira.( la idea es esta, porque si mañana quiero embeber
a su vez este formulario dentro de otro, habria que cambiar toda la
logica).

He probado a quitar el fomulario embebido, utilizar solo el de
propietario, quitar el save del action, y ponerlo en el bind ( como
ultima linea, una vez ejecutado este llamando al bind padre) y siempre
me sale el mismo error, error de entrada duplicada. No lo entiendo,
quizas desde el bind no se pueda llamar al save ( aunke no veo el
inconveniente).

Un saludo.
Reply all
Reply to author
Forward
0 new messages