Formulario con dos botones

Buenas tardes,

Necesito hacer un formulario con dos botones. Pero me da error. Y no se
porqué puede ser.

Tengo este formulario:

<%= form_tag :controller => ‘establishment_contents’, :action =>
‘llamada’, :opMenu => opcionMenu %>
[…]
<%= image_submit_tag ("…/images/incluir.gif", :op=>“addImage”) %>
[…]
<%= image_submit_tag ("…/images/eliminar.gif", :op=>“delImage”) %>
<%= end_form_tag %>

establishment_contents_controller.rb:

def llamada
if (params[:op].nil?) then
if (params[:op] == “delImage”) then
destroy #Borra imagen
elsif (params[:op] == “addImage”) then
addImagenContenido #Añade imagen
end
end
end

El error q me da es el siguiente:

Template is missing
Missing template
./script/…/config/…/app/views/establishment_contents/llamada.rhtml

Muchas gracias

El formulario ejecuta la accion llamada del controller
establishment_contents, y el erroe dice que no existe la vista
llamada.rhtml.
Estas seguro de que existe?

saludos,
Juan P…

La vista no existe. Lo que quiero es ejecutar el método llamada que
existe en el controlador…

Pero no se pq da error…

Gracias por responder

He conseguido que se me ejecute el método llamada. El problema era que
no tenía el parámetro op que buscaba y no existía un render…

Ahora mi problema es saber como enviar un parámetro en un
image_submit_tag. Es posible??

Yo le mando en cada uno de los botones un parámetro op para saber si es
un alta o una baja.

<%= image_submit_tag ("…/images/incluir.gif", :op=>“addImage”) %>
<%= image_submit_tag ("…/images/eliminar.gif", :op=>“delImage”) %>

Cómo se podría hacer??

Muchas gracias

On 15/10/2007, Ramón Castro [email protected] wrote:

<%= image_submit_tag (“…/images/incluir.gif”, :op=>“addImage”) %>
<%= image_submit_tag (“…/images/eliminar.gif”, :op=>“delImage”) %>

¿No te sería más fácil hacer dos formularios distintos? Yo nunca he
visto nunca un caso de uso válido para dos botones de enviar en un
mismo formulario, la verdad.

P.D. Mis compañeros me dicen que alguna vez ya he tenido esta
discusión en alguna lista y que sí que me han puesto ejemplos buenos,
pero la verdad es que no me acuerdo y me voy a empeñar en que nunca es
necesario :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.

Manuel González Noriega
escribió:> pero la verdad es que no me acuerdo y me voy a empeñar en que nunca es

necesario :slight_smile:

Por alusiones, y tan sólo si te apetece retomar la discusión: :slight_smile:

http://barclay.textdrive.com/pipermail/ror-es/2007-July/008515.html

<%= form_remote_tag( :url => { :action => “elcontroladorquesea” } )
-%>

<%= text_field :mailing, :email, { :class => ‘’, :value =>
[email protected]” } -%>

<%= hidden_field_tag ‘process’, ‘alta’ %>
<%= submit_tag ‘Alta’, :class => “btt”, :name => ‘_process’, :onclick
=> “Form.getInputs(this.form, null, ‘process’)[0].value = ‘alta’” -%>
<%= submit_tag ‘Baja’, :class => “btt”, :name => ‘_process’, :onclick
=> “Form.getInputs(this.form, null, ‘process’)[0].value = ‘baja’” -%>

y en el controlador recoges los valores con
params[:process]

Un saludo.

El 15/10/2007, a las 21:43, Ramón Castro
escribió:

Pues la verdad que en este caso necesito un sólo formulario. Porque

Pues la verdad que en este caso necesito un sólo formulario. Porque
tengo una lista de fotos con un radio button cada uno y dos acciones
posibles. Que son borrar la foto y añadirla a un grupo…

¿No se os ocurre ninguna solución?

Muchas gracias

On 15/10/2007, Ramón Castro [email protected] wrote:

Pues la verdad que en este caso necesito un sólo formulario. Porque
tengo una lista de fotos con un radio button cada uno y dos acciones
posibles. Que son borrar la foto y añadirla a un grupo…

¿No se os ocurre ninguna solución?

Sí, utilizar un solo submit :slight_smile:

Fotos

foto1

foto2

Las fotos seleccionadas deseas

Borrarlas Enviarlas a un grupo

Tampoco es que me parezca la mejor idea tener esas dos acciones tan
dispares pegadas desde el punto de vista de diseño de UI, pero eso ya
es otro tema y merece ser discutido en otra discusión :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.

On 10/15/07, alarkspur [email protected] wrote:

=> “Form.getInputs(this.form, null, ‘process’)[0].value = ‘baja’” -%>
Puede ser una solución, quiero decir que seguramente funciona, pero me
parece que se puede hacer sin utilizar tanto artificio javascriptero:

<%= form_tag :controller => ‘establishment_contents’, :action =>
‘llamada’, :opMenu => opcionMenu %>
<%= submit_tag (“Incluir”, :name => ‘incluir’) %>
<%= submit_tag (“Eliminar”, :name => ‘eliminar’) %>
<%= end_form_tag %>

En la acción ‘llamada’ puedes comprobar la presencia de cualquiera de
los dos parámetros, si el usuario pulsa “Incluir” entonces
params[:incluir] no será nil (pero sí params[:eliminar])

Ojo al usar image_submit_tag, IE no enviaría params[:incluir], sino
las coordenadas sobre las que se ha hecho click (params[:incluir_x] y
params[:incluir_y], este detalle deja tu formulario sin funcionar si
no haces bien las comprobaciones.


David A., el único desarrollador con una orden de alejamiento de
Jeffrey Zeldman
Simplelogica.net, ahora con un 33,3% más de intromisión en listas de correo

Cuando no hago otra cosa escribo en mildiez.net

On 15/10/2007, Raul M. [email protected] wrote:

Por alusiones, y tan sólo si te apetece retomar la discusión: :slight_smile:

http://barclay.textdrive.com/pipermail/ror-es/2007-July/008515.html

Ayer no recordaba ese hilo, ahora al verlo sí :slight_smile: Retomando tu ejemplo
sacado del blog de un gilipollas cualquiera:

(...)

Sigo pensando que esto lo solucionaría con un select o radio para
elegir entre acciones, con la acción preseleccionada siendo la
másprobable (la que el usuario quiera elegir el 80% de las veces) o bien
la deseada por el diseñador (si queremos sugerir fuertemente la
previsualización)
La verdad es que no conozco ahora mismo referencias para consultar (he
encontrado algo en Sigia-L, pero nada definitivo) pero es un tema
interesante. También habría que pensar si múltiples botones de enviar
tiene alguna implicación para la accesibilidad.


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.

Muchas gracias.

Las dos soluciones me parecen interesantes. Como todo a veces hay que
hacer cosas de una forma u otra dependiendo del diseño…

Lo dicho. Gracias y un saludo

Manuel González Noriega
escribió:> Sigo pensando que esto lo solucionaría con un select o radio para

elegir entre acciones, con la acción preseleccionada siendo la más
probable (la que el usuario quiera elegir el 80% de las veces) o bien
la deseada por el diseñador (si queremos sugerir fuertemente la
previsualización)

¿Pero por alguna razón o tan sólo por mantener el patrón “un único
botón enviar en cada formulario”?

Yo creo que aprovechar el botón de envío para indicar
información adicional no está tan mal, y menos si esta información hace referencia
al propio envío (por ejemplo indicando la acción a realizar con los
datos enviados).

La verdad es que no conozco ahora mismo referencias para consultar (he
encontrado algo en Sigia-L, pero nada definitivo) pero es un tema
interesante.

También me parece una discusión interesante aunque quizá esta no es la
lista más apropiada. Espero que no nos pille el moderador :stuck_out_tongue:

También habría que pensar si múltiples botones de enviar
tiene alguna implicación para la accesibilidad.

No tengo ninguna referencia sobre esto, aunque en las WCAG sí mencionan
explícitamente la opción de usar varios submit con imágenes como
alternativa a los imagemaps.

Saludos,
Raul M.

On 16/10/2007, Ramón Castro [email protected] wrote:

Muchas gracias.

Las dos soluciones me parecen interesantes. Como todo a veces hay que
hacer cosas de una forma u otra dependiendo del diseño…

Lo dicho. Gracias y un saludo

Ah, pero el diseño es la solución de un problema, y esta solución debe
ser la idónea o será un mal diseño. Pero como deciamos, a ver si nos
coge el moderador y nos manda de una pata a Cadius :smiley:


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.