Actualizar formularios

  1. invocar un formulario remoto
  2. realizar una operacion
  3. devolver valores a tres campos del formulario que no invoco

como se puede hacer esto:

invocar el formulario remoto lo se.
pero actualizar el formulario inicial con valores del segundo, eso lo
veo duro.
con javascript y jsp’s yo hacia esto antes.

gracias por la ayuda.

On Jun 10, 2007, at 6:06 PM, wifer wrote:

  1. invocar un formulario remoto
  2. realizar una operacion
  3. devolver valores a tres campos del formulario que no invoco

como se puede hacer esto:

invocar el formulario remoto lo se.
pero actualizar el formulario inicial con valores del segundo, eso lo
veo duro.
con javascript y jsp’s yo hacia esto antes.

Todo eso sucede en el cliente? No estoy seguro de entender la
secuencia, podrias explicar resumidamente como lo harias con JSPs?

– fxn

Xavier N. wrote:

On Jun 10, 2007, at 6:06 PM, wifer wrote:

  1. invocar un formulario remoto
  2. realizar una operacion
  3. devolver valores a tres campos del formulario que no invoco

como se puede hacer esto:

invocar el formulario remoto lo se.
pero actualizar el formulario inicial con valores del segundo, eso lo
veo duro.
con javascript y jsp’s yo hacia esto antes.

Todo eso sucede en el cliente? No estoy seguro de entender la
secuencia, podrias explicar resumidamente como lo harias con JSPs?

– fxn

simplemente dentro del jsp utilizo javascript. invoco el jsp enviando
los parametros que requiero:

function ubicacionGeografica(f){
pag = “/empleamos/jsp/buscador/ubicacionGeografica.jsp?pai_id=”+
f.pai_id.value+"&dpt_id="+ f.dpt_id.value;
pag = pag+“mpo_id=”+ f.mpo_id.value+"&zon_id="+ f.zon_id.value;
pag = pag+“bar_id=”+ f.bar_id.value+"&forma="+ f.name;
vnt =
window.open(pag,“Pantalla”,“width=500,height=240,scrollbars=NO,dependent=YES”);
vnt.moveTo(150,240);
}

el jsp invocado por java script actualiza el formulario inicial:

window.opener.document.<%=forma%>.zon_id.value=form.zon_id.value;
window.opener.document.<%=forma%>.zon_nombre.value=form.zon_id.options[e].text;

todo con javascript.

saludos

On Jun 11, 2007, at 4:01 PM, wifer wrote:

pero actualizar el formulario inicial con valores del segundo,
los parametros que requiero:
}

el jsp invocado por java script actualiza el formulario inicial:

window.opener.document.<%=forma%>.zon_id.value=form.zon_id.value;
window.opener.document.<%=forma%

.zon_nombre.value=form.zon_id.options[e].text;

todo con javascript.

Vale, en Rails grosso modo lo analogo a JSP es una vista, y lo
analogo a un servlet un controlador. Puedes montarlo igual, y podrias
usar link_to_function para generar facilmente un enlace que llame a
esa funcion:

http://api.rubyonrails.org/classes/ActionView/Helpers/
JavaScriptHelper.html#M000630

Es posible que dependiendo de los detalles pudieras delegar la
construccion de la peticion a algun otro helper, pasar por RJS, …,
pero vaya la idea es que lo puedes hacer igual que ya sabes en
cualquier caso.

– fxn

Hola Xavier.

Gracias por tus amables respuestas, veo que eres uno de los que mas
ayudas en el foro. dentro de mis tantas inquietudes, veo que dentro de
mis controladores estoy llenando de codigo, este si debe ir aqui? o
donde lo pongo.

Codigo como si voy a guardar un registro, voy a otros modelos, hago
consultas, otras operaciones y cargo los datos al modelo que voy a
guardar. Yo siempre acostumbro a programar de una manera atomizada y
veo que los controller estan bien cargadaditos. por favor me ayudas con
esta duda de conceptualizacion.

Pienso que este codigo debe ir en el modelo, pero no se enlazar el
controller con los metodos que tenga en el los modelos.

mil gracias de nuevo.

Gracias Xavier, interesante tu aclaracion, buscare documentacion con los
temas que me distes.

Gracias.

On Jun 12, 2007, at 1:57 AM, wifer wrote:

ayudas con
esta duda de conceptualizacion.

En MVC los controladores deberian ser por lo general muy finos, con
acciones de pocas lineas (salvo control de errores que es un coñazo
desde ese punto de vista).

Para que eso suceda, la capa modelo debe ofrecer una abstraccion
alta. La capa modelo por lo general parte de lo basico, que es el
mapping de Active Record, y añade los metodos que sean necesarios
para que se encapsule como funciona. Eso suele resultar en una API un
nivel de abstraccion por encima del mapping. En la manera de
programar que explicas suele suceder que el codigo que iria en esos
metodos termina sin encapsular desparramado por los controladores.

Hay algunos articulos por ahi con refactorings que ilustran el tema
con ejemplos reales, si buscas “rails thin controller” o “rails fat
controller” saldran algunos.

– fxn