Form_remote_tag

Buenas!

Tengo un pequeño problemilla con el form_remote_tag:

No consigo que me guarde el formulario (en realidad no me pasa ni los
parametros al controlador creo)

Tengo lo siguiente:

<% form_remote_tag :update => “demanat”, :url => {:controller =>
‘works’, :action => ‘create’}, :html => {:action => {:controller =>
‘works’, :action => ‘create’}} do %>

<%= text_field_tag :nombre %> (He probado también <%= text_field
“work”, “nombre” %>

<%= submit_tag “ok” %>

Total, que me ejecuta el :update del

correctamente pero me guarda
un registro con el campo “nombre” vacío.

En el controlador tengo el codigo por defecto de un “create”:

@work = Work.new(params[:work])
@work.save

Aunque también he probado en coger los parametros con el nombre del
text_field [:nombre] y nada de nada. Creo que no me los pasa porque en
la consola sólo me dice que pasa estos parametros:

Parameters: {“action”=>“create”, “controller”=>“works”}

¿Alguna idea? Un saludo,

david.

El Monday 27 October 2008 17:16:37 David D. escribió:

<% form_remote_tag :update => “demanat”, :url => {:controller =>

¿Alguna idea? Un saludo,

david.

¿Has comprobado el codigo html que te genera? ¿Es correcto?


Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]

¿Has comprobado el codigo html que te genera? ¿Es correcto?

Pues me genera esto:

Nombre

Aunque con el <%= text_field “work”, “nombre” %> me generaba:

y tampoco funcionaba… parece que no pase los parámetros del text_field
al controlador y por eso me genera un registro vacío…

Un saludo,

David

El Tuesday 28 October 2008 10:18:56 David D. escribió:

Aunque con el <%= text_field “work”, “nombre” %> me generaba:

y tampoco funcionaba… parece que no pase los parámetros del text_field
al controlador y por eso me genera un registro vacío…

Un saludo,

David

Ahora mira con firebug la peticion que manda al servidor. Te deberia
salir que
esta mandando por post el campo nombre o work[nombre]


Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]

2008/10/27 David D. [email protected]:

<% form_remote_tag :update => “demanat”, :url => {:controller =>

¿Alguna idea? Un saludo,

david.

Posted via http://www.ruby-forum.com/.


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Hola David,

Los métodos acabados en _tag son métodos de más bajo nivel que a veces
son necesarios pero que en general puedes obviar. Siendo un formulario
bastante estándar, yo intentaría reescribirlo usando remote_form_for
(remote_form_for (ActionView::Helpers::PrototypeHelper) - APIdock)
y text_field
(text_field (ActionView::Helpers::FormHelper) - APIdock).

<% form_remote_for(@work) do |f| %>
<%= f.text_field :name %>
<% end %>

Es más, yo lo haría con form_for, y sólo cuando lo tuviera funcionando
correctamente le añadiría el _remote =;-)


Sergio Gil Pérez de la Manga
e-mail > [email protected]
blog > http://www.lacoctelera.com/porras
now > http://twitter.com/porras

Hola,

Nombre

A veces me he encontrado con cosas que funcionan en unos browsers sí y
en otros no. En muchos casos el culpable era por anidamiento mal hecho
de tablas, y en el caso de Ajax, por intentar actualizar partes de una
tabla que no se pueden.

No estoy seguro si es legal poner un form como lo tienes tú, alegremente
con sólo dos TDs dentro, de hecho juraría que no. Entre un y un

creo que no puedes tener nada.

Prueba a dejar tu form fuera de la tabla, a ver si es por eso.

saludos,

j


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez

Ok, gracias chicos,

haré las dos cosas… Aunque con form_for funciona sin problemas.
Probaré form_remote_for y os cuento que tal ha ido!

Un saludo,

david.

haré las dos cosas… Aunque con form_for funciona sin problemas.
Probaré form_remote_for y os cuento que tal ha ido!

No lo entiendo…

con:

<% form_for(@work) do |f| %>


Nom <%= f.text_field :nom %>


<%= f.submit “ok”
%>

<% end %>

funciona perfecto…

No debería funcionar también con <% remote_form_for(@work) do |f| %>

Igual és porqué tengo el formulario en un controllador que no es “works”
dónde está el “create”?

Lo extraño es que parece que no manda work[nombre] en ningun sitio
(aunque no he sabido mirarlo con el firebug)

Voy a quitarlo de los

aunque no me ha pasado nunca nada y siempre
hago formularios con para quadrar-los…

Voy a ver…

Gracias cracks!

El Tuesday 28 October 2008 11:46:27 David D. escribió:

</tr>

Igual és porqué tengo el formulario en un controllador que no es “works”
Gracias cracks!
Si quieres usar

para colocar los campos, al menos ponlo dentro de
un y un


Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]

2008/10/29 Sergio Cambra .:: entreCables - Symbol Servicios Informáticos
S.L. ::. [email protected]

Si quieres usar para colocar los campos, al menos ponlo dentro de un

y un

O mucho mejor, olvidémonos de las tablas para maquetar, que ya estamos
en
2008 y canta un poco :slight_smile:

Prueba a dejar tu form fuera de la tabla, a ver si es por eso.

IN-CRE-ÍBLE. Me he quedado a cuadros, he sacado el <%= text_field %> de
la table y me funciona.

Muchas gracias crack porque te aseguro que no se me hubiera ocurrido en
la vida!

Un saludo…

david.

On Wed, Oct 29, 2008 at 10:25 AM, Manuel González Noriega
[email protected] wrote:

2008/10/29 Sergio Cambra .:: entreCables - Symbol Servicios Informáticos
S.L. ::. [email protected]

Si quieres usar para colocar los campos, al menos ponlo dentro de un

y un

O mucho mejor, olvidémonos de las tablas para maquetar, que ya estamos en
2008 y canta un poco :slight_smile:

Hombre Manu, se me ocurren algunas razones legítimas para querer meter
un formulario en una tabla que no implican usar las tablas para
maquetar… está bien poder saber cómo se hace.

Creo que “no usar tablas para maquetar” no es “no usar tablas”, sino
no usarlas “para maquetar” (te presento a mi amigo Pero Grullo =;-) ).
Las tablas tienen su uso, que es representar series de datos
tabuladas. ¿No se puede querer hacer alguno de esos datos editables?
¿O (este es un caso supertípico que tiende a aparecer antes o
despuésen casi cualquier proyecto) añadir a cada fila un ckeckbox y un
botoncito de “borrar seleccionados” al pie?

Hablo desde un importante desconocimiento de las técnicas de
maquetación, pero a priori a mí no me parecen “prácticas tabú” por
mucho que requieran mezclar formulario y tabla. ¿Lo son?

Un abrazo,


Sergio Gil Pérez de la Manga
e-mail > [email protected]
blog > http://www.lacoctelera.com/porras
now > http://twitter.com/porras

2008/10/29 Sergio Gil Pérez de la Manga [email protected]

¿O (este es un caso supertípico que tiende a aparecer antes o después
en casi cualquier proyecto) añadir a cada fila un ckeckbox y un
botoncito de “borrar seleccionados” al pie?

Hablo desde un importante desconocimiento de las técnicas de
maquetación, pero a priori a mí no me parecen “prácticas tabú” por
mucho que requieran mezclar formulario y tabla. ¿Lo son?

Mmmmm, me has hecho una finta con el cuerpo :wink: No es lo mismo maquetar
un
form con tabla que hacer que una tabla sea editable (“formicizar la
tabla”)
Lo primero no, lo segundo sí, como tú dices. A estas horas de la
madrugada
he estado poco sutil para hacer la distinción y lo he cerrado con un
brochazo un poco gordo.

En todo caso, el 80% de los casos que examinemos, será de la primera
clase,
la mala :slight_smile: Y es sabido que las buenas practicas del marcado estructural
siendo como son patrones, se aplican de la misma forma de los patrones.
Es
decir, “a menos que estés lo suficientemente bien informado para saber
cómo
y por qué este patrón no aplica en tu caso”

2008/10/29 Dani D. [email protected]:

Lo que si que es cierto es que a veces usar forms y tablas da pà ginas
“no w3c compliant”, y si la validez del documento html es prioritario,
no hay más “klanders” que usar otros elementos: divs, ul-li’s, etc…

En el caso de los forms, tengo algun libro sobre HTML/CSS donde añaden
el corolario que en el caso de los forms tipicos con “aspecto
tabulado” acabas antes con una tabla y arreando. “Head First HTML With
CSS & XHTML” me viene a la cabeza. Yo lo comparto humildérrimamente.

Para que la página valide hay que poner los tags en su sitio claro.

2008/10/29 Xavier N. [email protected]

Para que la página valide hay que poner los tags en su sitio claro.

Una cosa es la validación (corrección formal) y otra las buenas
prácticas
estructurales. Una página maquetada con tablas puede validar
perfectisisimamente, pero incumple una buena práctica estructural
fundamental: no se maqueta con tablas.

Y no conozco ese libro, pero ya para empezar no me suena nada bien eso
de
“se acaba antes con …” Tambien se “acaba antes …” sin tests, o
metiendo
todo en el controlador o haciendo Model.find en las vistas o duplicando
código php en ruby … En definitiva, que me parece muy mal consejo y me
hace mirar con mucha cautela el libro (por no hablar de que el uso de
XHTML
en el título ya da mala pinta)

Pero nos estamos yendo de cabeza al off-topic y tendremos que dejarlo
aquí
:slight_smile:

2008/10/29 Sergio Gil Pérez de la Manga [email protected]:

Creo que “no usar tablas para maquetar” no es “no usar tablas”, sino
no usarlas “para maquetar” (te presento a mi amigo Pero Grullo =;-) ).
Las tablas tienen su uso, que es representar series de datos
tabuladas. ¿No se puede querer hacer alguno de esos datos editables?
¿O (este es un caso supertípico que tiende a aparecer antes o después
en casi cualquier proyecto) añadir a cada fila un ckeckbox y un
botoncito de “borrar seleccionados” al pie?
Efectivamente. Las tablas, como tu dices, se usan para representar
datos tabulados. No para posicionar los elementos en la pà gina (
layout ).
Lo que si que es cierto es que a veces usar forms y tablas da pà ginas
“no w3c compliant”, y si la validez del documento html es prioritario,
no hay más “klanders” que usar otros elementos: divs, ul-li’s, etc…

Hablo desde un importante desconocimiento de las técnicas de
maquetación, pero a priori a mí no me parecen “prácticas tabú” por
mucho que requieran mezclar formulario y tabla. ¿Lo son?
Las tablas estan para usarlas, pero sobretodo, para usarlas bien.

La prueba del algodón es simple: coged un screen reader (FireVox
http://firevox.clcworld.net/ debe ser el más sencillo de conseguir),
cerrad los ojos o quitaros las gafas :P, y dejad que lea la página. Si
os hartais de “start table”, “start row”, “start cell”, es que vuestro
diseño no se debía haber realizado con tablas, en otro caso, supongo
que está bien.

Tschüss!

2008/10/29 Manuel González Noriega [email protected]:

En el caso de los forms, tengo algun libro sobre HTML/CSS donde añaden
el corolario que en el caso de los forms tipicos con “aspecto
tabulado” acabas antes con una tabla y arreando. “Head First HTML With
CSS & XHTML” me viene a la cabeza. Yo lo comparto humildérrimamente.

Para que la página valide hay que poner los tags en su sitio claro.

Una cosa es la validación (corrección formal) y otra las buenas prácticas
estructurales.

Si, si claro.

Una página maquetada con tablas puede validar
perfectisisimamente, pero incumple una buena práctica estructural
fundamental: no se maqueta con tablas.

Y no conozco ese libro, pero ya para empezar no me suena nada bien eso de
“se acaba antes con …” Tambien se “acaba antes …” sin tests, o metiendo
todo en el controlador o haciendo Model.find en las vistas o duplicando
código php en ruby …

Ahi te has pasao generalizando mi comentario :-).

La serie “Head First” de O’Reilly es en mi opinion extaordinaria.
Naturalmente tiene autores competentes a los que les asumo que no
dicen gilipolleces gratuitas. Esa excepcion se encuentra en el
capitulo de forms con un titulo “To Table or Not to Table?” en un
libro que por lo demas enseña uso de HTML + CSS canonico y formalmente
impecable.

Ante el axioma “aqui no se maqueta en tablas ni una coma” hay que
observar que gente que esta en el tema admite esa excepcion en
concreto dada cuenta de que uno maqueta forms tabulares en HTML + CSS
y le sale tal castaña de codigo que no puede sino preguntarse si
merece la pena.

Y hay gente con criterio que cree que no siempre merece la pena (y
admite que es polemico).

Asi que yo soy de la opinion de que puedes tener un site de puta madre
super limpio y super CSS por todas las esquinas. Pero un listado de
clientes se formatea con una tabla (eso es un buen uso de las tablas,
como decia Sergio), y un form tabular lo formateo con una tabla porque
me parece una excepcion razonable a la regla general acerca de como se
hacen layouts modernamente.

Y entiendo que haya gente que no lo comparta.

Ah, y con esto termino.

El problema real de verdad en todo esto no es separacion
maquetacion/contenido. El problema de verdad que subyace es que CSS
por diseño es maquetacion de elementos que siguen un flujo.

Por tanto, por como es CSS hacer cosas con layout tabular en CSS es
una castaña y vas en contra de como esta pensado. Si CSS permitiera
decir “quiero una pagina con un header y una parte principal de 3
columnas con estos anchos relativos” sin tener que ir con floats ni
clears ni ecuaciones diferenciales que hay que resolver para algunas
cosas verias que todo el mundo usaria esas directivas “tabulares” sin
mas problema y sin ningun conflicto interno.

Ocurre que CSS no permite expresar ese tipo de cosas, y por eso
entiendo que haya gente que ante un problema muy concreto como es el
de los forms decida que ya le supera el umbral.

2008/10/29 javier ramirez [email protected]:

Ocurre que CSS no permite expresar ese tipo de cosas,

ya sí Tables

muchos browsers modernos ya lo soportan y de hecho incluso IE8 parece
que lo soportará también.

Yo tengo entendido que esa parte de la spec en cuanto a HTML solo
aplica a tablas. No significa que puedas montar elementos maquetados
con un “lenguaje tabular”. De ahi que para HTML especifique que:

table-row-group (In HTML: TBODY)

por ejemplo.

Vamos, que no sirve para decir que los DIVs hijos de #signup-form
tiene un display “table-row”. Segun entiendo es un estilo ilegal en
HTML pero el navegador debe saber parsearlo y hacer como si no
estuviera ahi:

“User agents may ignore these ‘display’ property values for HTML
documents, since authors should not alter an element’s expected
behavior.”

Pero tambien es verdad que he visto lo de IE8… Desde luego que si
algun dia se pudieran maquetar partes de la pagina de esa manera
ademas de lo que ya se puede hacer seria genial.