Form_tag me generar un <div>

Hola gente,

Estoy intentanto hacer … creo que mi segundo formulario…

El caso es que pongo esto:

<%= form_tag :action => ‘name’ %>

Y me genera esto:

Entiendo que es algún tipo de validación pero:

  1. no encuentro información sobre este authenticity_token en ninguna parte
  2. el
    que genera me rompe todo el
    diseño
    No entiendo la generación de este

    Algún link o
    explicación.
    Gracias
    f.

On 23/02/2008, Fernando G. [email protected] wrote:

<div Algún link o explicación.

¿Por qué está ahí ese div? Porque los inputs necesitan estar dentro de
un elemento de bloque. Parece más lógico utllizar

, pero la gente
de Rails han optado por

. No debería romperte el diseño en
absoluto, ya que puedes estilarlo a tu gusto. O prescindir de form_tag
y escribir html, que mola más :slight_smile:


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

El 23/02/08, Manuel González Noriega
[email protected]
escribió:> >

Algún link o explicación.

¿Por qué está ahí ese div? Porque los inputs necesitan estar dentro de
un elemento de bloque. Parece más lógico utllizar

, pero la gente
de Rails han optado por

. No debería romperte el diseño en
absoluto, ya que puedes estilarlo a tu gusto. O prescindir de form_tag
y escribir html, que mola más :slight_smile:

Sigo sin entender que es el “authenticity_token” aunque me lo puedo
imaginar pero no veo documentación al respecto.

El

me rompe el diseño porque en mi css se hacen cosas con los

dentro de los form y el
autogenerado no me lo esperaba.

Sip, puedo usar html sin más, es sólo que me gustaría aprender a
manejarme con los helper.

Saludos
f.

2008/2/23 Fernando G. [email protected]:

Entiendo que es algún tipo de validación pero:

  1. no encuentro información sobre este authenticity_token en ninguna parte

El div contiene el hash que luego usa rails para “forgery protection”,
basicamente si le llega un POST con un hash invalido lo rechaza, y asi
evita que desde cualquier otro site te puedan hacer un POST a tu
formulario[1]

[1] Cross-site request forgery - Wikipedia

  1. el
    que genera me rompe todo el diseño

Aca no puedo ayudarte mucho porque nunca me ha pasado. Tal vez si
envias de que forma queda roto tu layout, podramos ver como
solucionarlo.

On 23/02/2008, Fernando G. [email protected] wrote:

Sigo sin entender que es el “authenticity_token” aunque me lo puedo
imaginar pero no veo documentación al respecto.

Ah, pensé que te referías al div, no al token. Es un tema de seguridad
que te explican en otra respuesta.

El

me rompe el diseño porque en mi css se hacen cosas con los

dentro de los form y el
autogenerado no me lo esperaba.

Bueno, no es muy difícil de solucionar. Pon un contenedor, div o
fieldset, en torno a todos tus controles y luego ya puedes estilar sin
problemas. Cosa de 30 segundos.

Si no tuvieses que soportar navegadores chungos, podrías hacer
simplemente form div:first-child para encargarte del intruso, pero no
creo que tengas esa suerte :wink:


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

El

me rompe el diseño porque en mi css se hacen cosas con los
dentro de los form y el
autogenerado no me lo esperaba.

Bueno, no es muy difícil de solucionar. Pon un contenedor, div o
fieldset, en torno a todos tus controles y luego ya puedes estilar sin
problemas. Cosa de 30 segundos.

Les pondré un class a todos los

anónimos que tenía para
diferenciarlos del autogenerado.

Si no tuvieses que soportar navegadores chungos, podrías hacer
simplemente form div:first-child para encargarte del intruso, pero no
creo que tengas esa suerte :wink:

Es una idea estupenda¡ … lástima de los ‘navegadores chungos’

Gracias¡
f.

Yo tengo una cuestión que en realidad no tiene nada que ver con Rails,
pero bueno aprovecho que se hablo algo de CSS y estoy con ello ahora
mismo. A ver si me podéis ayudar.

La cuestión es que tengo un código tal que así (la cosa va de CSS):
#middle-left div {

margin-bottom: 20px;

}

Bueno esto aplica un margin por debajo del div de 20px, pero no solo al
primer nivel de divs, si no a todos los que haya dentro. Mi pregunta es
¿Hay alguna manera de que actúe sólo en el primer nivel de divs y no en
los siguientes? (y que además lo pille IE jajaja).

Saludos.

Fernando G. escribió:

2008/2/23, Ricardo M. [email protected]:

Y me genera esto:

El div contiene el hash que luego usa rails para “forgery protection”,
basicamente si le llega un POST con un hash invalido lo rechaza, y asi
evita que desde cualquier otro site te puedan hacer un POST a tu
formulario[1]

[1] Cross-site request forgery - Wikipedia

Thank you man¡ :slight_smile:

Aunque aún estoy tratando de entender el ataque este :slight_smile:

  1. el
    que genera me rompe todo el diseño

Aca no puedo ayudarte mucho porque nunca me ha pasado. Tal vez si
envias de que forma queda roto tu layout, podramos ver como
solucionarlo.

No te preocupes, no quiero liaros con rollos css, es sólo que me ha
sorprendido bastante la aparición de ese

por ahí en medio (en
ninguna parte de la documentación he visto que hablaran de esto), si
por lo menos le pudiera poner un id o un class para manipularlo desde
mi css. Pero es que mi diseño css es muy dependiente de los

dentro de los formulario y ahora tengo que cambiarlo todo.

En fín… sorpresa tras sorpresa :slight_smile:

Saludos
f.

On 23/02/2008, Valentín Palacios [email protected] wrote:

Bueno esto aplica un margin por debajo del div de 20px, pero no solo al
primer nivel de divs, si no a todos los que haya dentro. Mi pregunta es
¿Hay alguna manera de que actúe sólo en el primer nivel de divs y no en
los siguientes? (y que además lo pille IE jajaja).

Hola Valentín,

te contesto parcialmente a tu pregunta al final de este mensaje, pero
la lista NO es para plantear cuestiones puras de CSS, con
independencia de que algún hilo empiece en form_tag y derive un poco
hasta el estilado.

Tampoco es correcto secuestrar hilos para plantear nuevas preguntas.

Te recomiendo la lista de Ovillo (ovillo.org) para dudas de marcado y
estilado.

(*) Lo que necesitarías en términos de CSS se llama “child selector”
(Selectutorial: Child selectors)
Compatibilidad con IE ya te dejo investigarla por tu cuenta.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

otra posible solución por si te sirve es “resetear” todos los
elementos css al principio y así no hay destrozos con los elementos
html que genere rails.

Un saludo.

El 23/02/2008, a las 21:13, Fernando G.
escribió: