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