Foros del Web » Programando para Internet » Ruby »

Ayuda zona clientes

Estas en el tema de Ayuda zona clientes en el foro de Ruby en Foros del Web. Hola, mi PFC consiste en una aplicacion para empresa desarollada en ror. Actualmente me encuentro desarrollando la zona de clientes, en ella el cliente selecciona ...
  #1 (permalink)  
Antiguo 12/12/2008, 06:55
 
Fecha de Ingreso: noviembre-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 1
Ayuda zona clientes

Hola, mi PFC consiste en una aplicacion para empresa desarollada en ror.

Actualmente me encuentro desarrollando la zona de clientes, en ella el cliente selecciona el elemento sobre el cual quiere conocer el estado y un codigoaleatorio que se le manda por email.

Me he creado un controlador que se llama zonaclientes, en el el index (la vista) contiene un desplegable para seleccionar el elemento de consulta y un campo de texto para introducir el codigo aleatorio. Tras pulsar el boton de busqueda nos lanza al metodo buscatabla que en funcion del objeto seleccionado en el desplegable buscara el codigo aleatorio la tabla correspondiente (cada producto tiene una tabla especifica).

El problema que tengo es que el metodo que debe seleccionar en que tabla buscar siempre me lanza a la vista del propio metodo, es decir el parametro que indica que tabla se ha seleccionado lo obvia.


Os dejo mi codigo a ver si podeis tirarme un cable, por que me esta dando el dia la implementacion.

la vista: (index de zonaclientes)

<%= select_tag "tabla", options_for_select(["Famitel", "Polycom Kirk",
"LG Nortel", "Dimax Videovigilancia"]) %>
<%= text_field :buscar, params[:codigo_aleatorio]%>
<%= button_to "Buscar" , :action => :elijovista %>

---------------------------------------------------------------------
El controlador:


skip_before_filter :login_required #para que me deje ir al enlace sin necesidad de logearme

# GET /zonaclientes
# GET /zonaclientes.xml
def index
respond_to do |format|
format.html # index.html.erb
end
end


def elijovista

case :tabla
when 'Famitel'
@ticket=Ticket.find( :first, :select =>"reference", :conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])

# renders app/views/zonaclientes/showFamitel
render :template => 'zonaclientes/showFamitel'
return

when 'Polycom_Kirk'
@Kirk=Kirk.find( :first, :select =>"reference", :conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])
render :template => 'zonaclientes/showPolycom'
return


when 'Lg_Nortel'
@lgn=Lgn.find( :first, :select =>"reference", :conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])
render :template => 'zonaclientes/ShowLGN'

return

when 'Dimax_Videovigilancia'
@ticket=Ticket.find( :first, :select =>"reference", :conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])
render :template => 'zonaclientes/ShowVV'

return


end

end


#faltaria implementar la vista de cada una de las templates elegidas, pero eso no me preocupa, lo que no se es porque no ve la variable :tabla.

He probado a instalar el debugger de ruby , pero tampoco consigo leer el valor de esa variable. Supongo que el fallo debe ser de sintaxys, por que la idea la veo correcta...lastima que no consiga dar con él.

Un saludo y gracias por la ayuda
  #2 (permalink)  
Antiguo 12/12/2008, 07:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Ayuda zona clientes

Avanzamos....ya se donde esta el error, el valor que recibe elijovista
de la variable :tabla es "tabla". He quitado un when "fanitel" y le he
metido un when "tabla· y me ha entrado sin problemas.

Ahora se que le paso mal la variable, pero me falta saber la forma
correcta de pasarla
  #3 (permalink)  
Antiguo 13/12/2008, 04:51
 
Fecha de Ingreso: noviembre-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Ayuda zona clientes

El problema que tengo es que cuando pulaso el boton me lleva al metodo elijovista del controlador zonaclientes, pero el boton funciona como un link to y obvia el valor de tabla y el password.

Hay alguna opcion de decirle al boton que tambien imande estos parametros, o si en vez de con un boton es con otra cosa sinceramente me da igual.


Otra opcion que he estado probando sin mucho exito es crear un modelo e intentarlo con un form_for, pero claro el form_for se reliere a un objeto en concreto, lo que gago es en el controlador, en index crearme @zonacliente=Zonacliente.new me creo una fila nueva en la tabla zonacliente por cada consulta y sobre ella voy guardando los datos que se introducen en la vista. Pero al lanzar el servidor, al entrar en el form_for me da el error de nil object.

Agradeceria cualquier ayuda, el tema me esta superando por momentos.


Saludos
  #4 (permalink)  
Antiguo 15/12/2008, 11:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Ayuda zona clientes

Solucionado con un submit_tag ya he conseguido pasar los parametros tabla y buscar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:14.