Forum: Rails-ES Consejos zona clientes

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Jose vicente R. (Guest)
on 2008-12-09 20:11
Hola, estoy haciendo la zona de clientes de mi proyecto. Os explico en
que consiste, la aplicacion al crear un ticket/incidencia... (no son mas
que formularios para rellenar), generara un correo con un codigo
aleatorio que se enviara por email al correo del cliente. Este cuando
quiera podra consultar el estado de su producto sin mas que introducir
la clase del producto del que se trata (ya que tengo una tabla para cada
tipo de producto) y el codigo aleatorio que se le paso por email.

Pero tengo una duda,sobre como organizarme. Os cuento mi idea:

1) He creado un link en la vista donde me logeo para dirigir a los
usuarios a la zona de consultas

2) En la zona de consultas he de crear un desplegable que me permita
elegir el tipo de producto que es, un campo de texto para introducir la
clave) y otro desplegable para seleccionar la empresa del cliente (esto
en realidad no haria falta, con los dos datos anteriores ya se puede
saber el id del producto, pero bueno asi redusco mas la busqueda y
elimino posibles duplicados)

El problema que tengo es que no se como seleccionar el tipo de producto
y de empresa, es decir cuando creo un formulario no hay problema por que
en el new ya tengo un formulario selecionado y puedo trabajar sobre el.
Este seria el codigo:

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

<table class="Informacion_producto" >
    <tr>
      <th><%= 'Cliente' %></th>
    <th><%= 'Producto' %></th>
    <th><%= 'Estado del producto' %></th>
    </tr>
    <tr>
    <td><%= f.collection_select :client_id, @clients,:id, :name, :prompt
=> "Selecione cliente" %></td>


------------
Es decir mi desplegable es sobre ese kirk, pero en mi idea no estoy
trabajando sobre ningun objeto en particular y no se como plantearlo.


PD
No creo que necesite crear una tabla para las consultas, de tal forma
que se cree una nueva cada vez que el usuario uiera consultar el estado
del producto verdad? Creo que se debe de poder hace de una forma
bastante mas sencilla, en e l fondo solo quiero visualizar unos campos
de unas determinadas tablas, pero no se como ahcerlo sin complicarlo
demasiado.



Os agradeceria cualquier ayuda.


Un saludo
Jose vicente R. (Guest)
on 2008-12-09 20:56
Os comento mi idea:

Suponiendo que tengo un scaffold completo de zonacliente.


El Modelo:
Como voy a poder elegir en un desplegable entre estos productos (cada
uno tiene ya su tabla) kirk,vv,lgn,ticket,incidence Relacion de:

has_many :kirks
has_many :vvs
has_many :lgns
has_many :tickets
has_many :incidences
has_many :clients       #habra un desplegable para elegir el cliente
(objeto que tb tiene su tabla)
-----------------------------------------------------------------------------
La tabla de zonacliente constara de:
id
status->lugar donde almacenare el estado del objeto consultado para
mostrarlo al cliente
cliente->campo que cargara el cliente seleccionado (ya tengo una tabla
algunos clientes)
Producto->Igual que el anterior pero con el producto. Me crearia una
nueva tabla (pej:zonaclienteproducto)que tubiese los campos id y name
con name igual a los producots que puedo elegir
--------------------------------------------------------------------------------
El controlador:
constara de new, show ye index

new: Me llevara  la vista que le permitira introducir todos los datos al
cliente
show: Tras crearlo unicamente tendre que agregar el campo status. He
pensado qeu le forma de saber que objeto he introducido seria algo asi:


def show
  @zonacliente = Zonacliente.find(params[:id])
 #comparo el producto seleccionado con el nombre de la tabla zonacliente
#producto para realizar la busqueda en una tabla u otra
 if @zonaclienteproductos.name= 'Ticket'
   @ticket=Ticket.find(params: passwordaleatorio)
 .
 .
 .  y asi con todos los productos -> luego en el view ya muestro el
campo status del objeto seleccionado que es lo que quiere ver el cliente

Index:
constara unicamente de un link a new zonacliente
---------------------------------------------------------------------------


Que os parece?... yo lo sigo viendo un poco demasiado pero al menos creo
que he encontrado algo.

Un saludo y a ver si alguien me puede alumbrar un poco.

;)
Fernando G. (Guest)
on 2008-12-10 00:54
(Received via mailing list)
Usa form_tag en lugar de form_for.

Y usa los helper de formulario acabados en _tag. Estos no requieren
hacer referencia a ninguna instancia.

Como última opción usa etiquetas html de formulario directamente. Si
los helpers de Rails no te aportan más que problemas pues en ese caso
no los uses.

Suerte
F.


(Perdón por la sintaxis, escrito desde el móvil)
--
Fernando Guillén
Desarrollador Web Freelance
http://fernandoguillen.info

El 09/12/2008, a las 19:11, Jose vicente Ribera pellicer
<removed_email_address@domain.invalid
 > escribió:
Ceritium (Guest)
on 2008-12-10 02:03
(Received via mailing list)
Tenías que estar muy aburrido para responder a la lista desde el móvil
Fernando xD

Sobre lo de no usar los helpers de rails pues eres libre, pero nunca me
ha
pasado que se me queden cortos, si es tu caso explicamelo porque no lo
veo
:)

Desde que estoy en Rails tiendo a abstraerme lo máximo posible del html,
js
y css (helpers, rjs, haml, sass, erb...)  ¿Qué pensais ustedes de esto?

2008/12/9 Fernando G. <removed_email_address@domain.invalid>
Fernando G. (Guest)
on 2008-12-10 12:12
(Received via mailing list)
El día 10 de diciembre de 2008 1:03, Ceritium 
<removed_email_address@domain.invalid>
escribió:> Tenías que estar muy aburrido para responder a la lista desde el 
móvil
> Fernando xD

Así es :)

>
> Sobre lo de no usar los helpers de rails pues eres libre, pero nunca me ha
> pasado que se me queden cortos, si es tu caso explicamelo porque no lo veo
> :)

Si, es muy raro que no pueda usar un helper de rails para
algúnelemento del formulario, pero si la cosa se me empieza a liar, y no
por culpa del helper sino por la dureza de entendederas que ande, no
se me caen los ojos por pasar del helper y tirar de <input type=""/>.

>
> Desde que estoy en Rails tiendo a abstraerme lo máximo posible del html, js
> y css (helpers, rjs, haml, sass, erb...)  ¿Qué pensais ustedes de esto?

Esto daría píe a una larga guerra :)

f.
Fernando G. (Guest)
on 2008-12-10 12:30
(Received via mailing list)
mmmmm...

creo que lo estás liando un poco.

No veo mal que tengas un controlador para las búsquedas pero no creo
que te haga falta un modelo ActiveRecord para ellas.

Puedes hacer un controlador con dos actions:

def search_form
  @project_types = [
     KeyValue.new( :key => 'ticket', :value => 'Ticket' ),
     KeyValue.new( :key => 'product', :value => 'Product' ),
     KeyValue.new( :key => 'wadus', :value => 'Wadus' ),
  ]
  @clients = Client.find(all)
end

def search_results
  @status = nil

  case params[:type]
  when 'trip'
    @status = Ticket.find( :first, :conditions => ['secret_id = ? and
client_id = ?', params[:secret_id], params[:client_id] ).status
  when 'product'
    @status = ...
  when 'wadus'
    @status = ...
  else
    raise "Bad type: #{params[:type]}"
  end
end

Así en @project_types tienes tu array de tipos de productos.
En @clients tienes tu array de clientes

Y con esto puedes construir el formulario

Para hacer la búsqueda discriminando por tipo de producto yo usaría un
case/when más que un montón de ifs..

Todo esto lo he puesto al vuelo, y no soy ningún experto así que no
sólo errores sino malos planteamientos es lo podrás encontrar.

Suerte.
f.

El día 9 de diciembre de 2008 19:56, Jose vicente Ribera pellicer
<removed_email_address@domain.invalid>
escribió:> Os comento mi idea:
Jose vicente R. (Guest)
on 2008-12-11 17:08
Ayer me toco jornada completa en el Parque tecnologico asi que no pude
mirar los consejos. Me estoy poniendo un rato al lio y me surgen dudas:

Fernando G. wrote:
> Usa form_tag en lugar de form_for.
>
> Y usa los helper de formulario acabados en _tag. Estos no requieren
> hacer referencia a ninguna instancia.

Esto quiere decir que no tengo que especificar el objeto en el
controlador?
Vamos que puedo usar objetos (ya Sea Ticket, Lgn, Vv sin necesidad de
tener las referencias en el controlador??, es que me parece demasiado
bonito para que sea verdad.

sobre esto:
-----------------------------------------------------------------------------
No veo mal que tengas un controlador para las b�squedas pero no creo
que te haga falta un modelo ActiveRecord para ellas.

Puedes hacer un controlador con dos actions:

def search_form
  @project_types = [
     KeyValue.new( :key => 'ticket', :value => 'Ticket' ),
     KeyValue.new( :key => 'product', :value => 'Product' ),
     KeyValue.new( :key => 'wadus', :value => 'Wadus' ),
  ]
  @clients = Client.find(all)
end

def search_results
  @status = nil

  case params[:type]
  when 'trip'
    @status = Ticket.find( :first, :conditions => ['secret_id = ? and
client_id = ?', params[:secret_id], params[:client_id] ).status
  when 'product'
    @status = ...
  when 'wadus'
    @status = ...
  else
    raise "Bad type: #{params[:type]}"
  end
end

As� en @project_types tienes tu array de tipos de productos.
En @clients tienes tu array de clientes

Y con esto puedes construir el formulario

Para hacer la b�squeda discriminando por tipo de producto yo usar�a un
case/when m�s que un mont�n de ifs..

----------------------------------------------------------------------------

Me parece  muy interesante, la idea es que en el desplegable que
muestre los clientes sea el que haga que el controlador implemente la
busqueda en un tabla determinada.

Es decir si se selecciona el id=1 que es el que se refiere a los tickets
se busque en la tabla de tickets. Tienes razon no veo por que necesito
tener un modelo, lo puse por las relaciones, pero no tiene nada que ver.
No necesito tener ninguna tabla para zonaclientes, lo unico que tengo
que hacer es leer en la que toque.

Por cierto keyvalue.newcrea un nuevo indice??.
De momento probare con la idea del controlador y el form_tag (aunque
este me gustaria saber bien como usarlo).


Gracias por las respuestas
Jose vicente R. (Guest)
on 2008-12-11 17:43
Esta pagina me esta ayudando bastante, comenta distintas formas de
implementar una seleccion.

Por si a alguien le interesa:
http://shiningthrough.co.uk/blog/show/6
Fernando G. (Guest)
on 2008-12-11 17:46
(Received via mailing list)
El día 11 de diciembre de 2008 16:08, Jose vicente Ribera pellicer
<removed_email_address@domain.invalid>
escribió:> controlador?
> Vamos que puedo usar objetos (ya Sea Ticket, Lgn, Vv sin necesidad de
> tener las referencias en el controlador??, es que me parece demasiado
> bonito para que sea verdad.

No entiendo bien la pregunta.. pero vamos que creo que la respuesta es
Sí :)

>
> Por cierto keyvalue.newcrea un nuevo indice??.

Perdón.. KeyValue me lo he inventado.. podría ser una clase con una
definición tal que
así:
class KeyValue
  attr_accesor :key, :value
end

O puedes cambiar donde pone KeyValue y poner Struct .. creo que
funcionaría.

f.
Fernando G. (Guest)
on 2008-12-11 17:47
(Received via mailing list)
El día 11 de diciembre de 2008 16:43, Jose vicente Ribera pellicer
<removed_email_address@domain.invalid>
escribió:> Esta pagina me esta ayudando bastante, comenta distintas formas de
> implementar una seleccion.
>
> Por si a alguien le interesa:
> http://shiningthrough.co.uk/blog/show/6

Pues sí que está bien.. gracias.

f.
Fernando G. (Guest)
on 2008-12-11 17:49
(Received via mailing list)
La doc oficial tampoco está mal:

http://api.rubyonrails.org/classes/ActionView/Help...


2008/12/11 Fernando G. <removed_email_address@domain.invalid>:
Jose vicente R. (Guest)
on 2008-12-11 19:53
Attachment: captura_pantalla.GIF (0 Bytes)
Os comento mis avances....

El controlador:

-------------------------------------------------------------------------------
class ZonaclientesController < ApplicationController

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

   def index

#segun el la opcion del desplegable optaare por buscar un determinado
tipo de objeto, es decir buscare en la tabla correpondiente

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

 when 'Polycom Kirk'
@Kirk=Kirk.find( :first, :select =>"reference",
:conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])

 when 'Lg Nortel'
@lgn=Lgn.find( :first, :select =>"reference",
:conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])

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

end

respond_to do |format|
format.html # index.html.erb
end
end


 def muestroestado # LOUNICO QUE ME INTERESA DE EL ES LA VISTA PARA
MOSTAR AHI EL ESTADO DEL ELEMENTO SELECCIONADO
   respond_to do |format|
  format.html # index.html.erb
    format.xml  { render :xml => @zonaclientes }
     end
 end
----------------------------------------------------------------------------

La vista del incex->Aqui tengo la duda

<div id="info">

<!-- selecciono la tabla en la que buscare el codigo aleatorio generado,
la variable leida la obtengo en el controlador como params[:tabla]>


<%form_tag zonaclientes_path, :method=>'get' do %>  <!--#obligamos que
use get por defecto usaba post-->
  <p>
<%= select_tag "tabla", options_for_select(["Famitel", "Polycom Kirk",
"LG Nortel", "Dimax Videovigilancia"]) %> <!-- selecciono la tabla


<%= text_field_tag :buscar, params[:codigo_aleatorio]%>  <!--#le paso el
texto a buscar-->
<%= button_to "Buscar" , :action => :muestroestado %>
  </p>

  <%end%>

</div>


----------------------------

Aqui es donde se me plantean las duudas, la primera es que tal y como
esta escrita el codigo en la vista solo se ve le boton de buscar, ni
rasto de desplagable ni del campo de texto ni nada de nada. Yo creo que
la idea no esta muy lejos de la correcta...pero claro no tengo nada para
introducir los datos y seguir.

Adjunro una imagen de la captura de pantalla como adjunto
Jose vicente R. (Guest)
on 2008-12-11 20:15
El problema debe de estar en el div, he copy/paste estas tres lineas
fuera de el:

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


Y ya se muestran en la pantalla, arriba ala izquierda sin ningun orden,
pero bueno ahora eso es lo menos importante.
Jose vicente R. (Guest)
on 2008-12-11 20:55
Siento que el tema se este alargando tanto, supongo que asi sera mas
dificil de seguir, en fin como siempre agradezco comantarios. He hecho
algunos cambios y creo qeu la solucion debe estar cerca.

En el contrlador: Ahora en el index no tengo nada, siimplemente muestro
los datos a rellenar en su vista y tengo un boron que me lleva al metodo
elijo vista, este asu vez dependiendo del valor del desplagable nos hara
un render a la vista correspondiente que incluyo en la carpeta views de
elijovista (logicamente en cada una solo muestro el tipo de obeto que se
ha selecionada, en el fondo es como la vista del show de cada elemento.

Dejo el codigo:
 def index
     respond_to do |format|
     format.html # index.html.erb
     end
 end


 def elijovista
case params[:tabla]
when 'Famitel'
   @ticket=Ticket.find( :first, :select =>"reference",
:conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])
  # renders app/views/zonaclientes/showFamitel
  render :template => 'zonaclientes/showFamitel'

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


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


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



     end

 end

-----------------------------------------------------------------
En la vista del index capturo pulsar el boton buscar me redirecionara a
elijobusqueda.

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

------------------------------------------------------------------

He introdcido un password correcto para Famitel y al pulsar buscar
aperece el error de template is missing

Template is missing

Missing template zonaclientes/elijovista.html.erb in view path
C:/InstantRails-2.0-win/rails_apps/daticket/app/views


Al hacer el render :template no deberia ir a la vista que le paso y
olvidar la de elijovista???? esa era mni idea, elijovista segun el
parametro que elijo me obtiene el objeto y lme lanza a la vista
especifica de este

Que falla?
Fernando G. (Guest)
on 2008-12-11 21:11
(Received via mailing list)
Metele un return a cada when por que sino el código continúa y al
final creo que se ejecuta implícitamente un render por defecto con el
nombre de la acción.

Prueba a ver. Y sino intenta asegurarte de que se esta ejecutando el
when que esperas.

F


(Perdón por la sintaxis, escrito desde el móvil)
--
Fernando Guillén
Desarrollador Web Freelance
http://fernandoguillen.info

El 11/12/2008, a las 19:55, Jose vicente Ribera pellicer
<removed_email_address@domain.invalid
 > escribió:
Jose vicente R. (Guest)
on 2008-12-11 21:15
Fernando G. wrote:
> Metele un return a cada when por que sino el código continúa y al
> final creo que se ejecuta implícitamente un render por defecto con el
> nombre de la acción.
>
Gracias crack, lo he intentado pero nada, sigue queriendo ir a  la vista
de elijovista, se salta los render :((
Jose vicente R. (Guest)
on 2008-12-11 22:11
He instalado el debugger de ruby y me he visto un screencast de
railscasts sobre el que me ha servido de mucho.

con este codigo:
def elijovista
debugger
case params[:tabla]
when 'Famitel'
   @ticket=Ticket.find( :first, :select =>"reference",
:conditions=>['codigo_aleatorio=?',params[:codigo_aleatorio]])
  # renders app/views/zonaclientes/showFamitel
  render :template => 'zonaclientes/showFamitel'


La consola muestra se para en la linea 6, tal que asi:
 =>case params[:tabla]

Vamos que parece que el case no capture el params[:tabla] que es donde
le meto la tabla en la que tiene que realizar la busqueda
Fernando G. (Guest)
on 2008-12-11 23:21
(Received via mailing list)
Creo que tienes que volver a verte el screencast de Ryan.

Mira como usa el comando 'next'. Y la consola 'irb' para consultar las
variables en tiempo real.

También vigila el log en la petición a ver que parámetros y valores
se están enviando.

F.



(Perdón por la sintaxis, escrito desde el móvil)
--
Fernando Guillén
Desarrollador Web Freelance
http://fernandoguillen.info

El 11/12/2008, a las 21:11, Jose vicente Ribera pellicer
<removed_email_address@domain.invalid
 > escribió:
Jose vicente R. (Guest)
on 2008-12-11 23:58
Termino de ejecutar el irb. Si luego ejecuto ( En el navegador he
selecionado un producto Famitel):
y Famitel

Me da error de constante no inicializada

intento obtener el valor que tiene params[:tabla] pero con
y :tabla me devuelve
-- :tabla
=>nil

La desesperacion me ha llevado a intentar escribir
y params[:tabla]  pero la consola no reconoce el Alt Gr.


No consigo hacerlo funcionar :(
Fernando G. (Guest)
on 2008-12-12 02:03
(Received via mailing list)
Creo que deberías ser menos impaciente.

Busca tutoriales y haz unos cuantos ejemplos antes de intentar tus
propias aventuras.

En la lista no vas a conseguir el empujón inicial que necesitas.

F.


(Perdón por la sintaxis, escrito desde el móvil)
--
Fernando Guillén
Desarrollador Web Freelance
http://fernandoguillen.info

El 11/12/2008, a las 22:58, Jose vicente Ribera pellicer
<removed_email_address@domain.invalid
 > escribió:
Jose vicente R. (Guest)
on 2008-12-12 14:20
Fernando G. wrote:
> Creo que deberías ser menos impaciente.
>
> Busca tutoriales y haz unos cuantos ejemplos antes de intentar tus
> propias aventuras.
>
> En la lista no vas a conseguir el empujón inicial que necesitas.
>
> F.
>

Para mi que desde le controlador no caraga el valor de :tabla, por eso
no entran en el case, voy a seguir investigando sobre la sintaxis.

De todas formas cualquier ayuda sera bienvenida.

PD.
Otra duda que surge: Aunque en el controlador de zonaclientes me salte
la autentificacion me dejara luego leer las tablas de los distintos
productos sin autentificarme....espero que si. Pero bueno poco a poco.

Un saludo y como siempre gracias por los consejos habidos y por haber ;)
Jose vicente R. (Guest)
on 2008-12-12 15:12
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
Jose vicente R. (Guest)
on 2008-12-12 18:20
Attachment: tabla.GIF (0 Bytes)
Subo una imagen donde se ve como no reconoce el parametro tabla para que
quede mas claro, yo sigo buscando la solucion sin de masiada buena
fortuna.
Jose vicente R. (Guest)
on 2008-12-12 18:27
Espero en que no exista problema al actualizar tanto el tema, pero me
parece buena idea hacer un seguimiento del problema.

Parece que ya esta resuelto el problema de por que no ve los
parametros....todo viene por el uso del boton que ignora los otros.


ah wait, this is why:

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

You've just got a button which calls an action here:  it's just a
link_to with a button instead of some text.  The contents of the
select_tag and text_field will be ignored.  You need to put them in a
form, and change the button to just be a submit button for the form.
Jose vicente R. (Guest)
on 2008-12-13 13:01
De momento lo que he intentado sin mucho exito es meter el modelo, de
forma que por cada copnsulta que un cliente haga se cree una nueva fila
en la tabla,la tabla de zonaclientes seria como una tabla que almacena
todas las consltas que se hacen.Asi al tener el modelo ya podria hacer
uso del form_for ya que cada consulta seria un @zonacliente.

El problema es que cuando ejecuto el navegador me da el error de nil
object, vamos que no reconocela fila nueva de la tabla que le he creado,
lo unico que he hecho a sido en la vita del index poner la linea
@zonacliente=Zonacliente.new, con ella esperaba poder almacenar todos
los datos que le introducia, para asi luego en elijovista poder leer el
valo de tabala y el password y dirigirme  ala vista que me interesara
segun el producto almacenado en tabla.


Un saludo y ya sabeis que cualquier ayuda sera bienvenida, desde luego
esta parte me esta dando que hablar, pero estoy aclarando bastantes
conceptos y aprendiendo mientras doy con la solucion.

Un saludo
Jose vicente R. (Guest)
on 2008-12-14 13:01
La zona de clientes ya funciona, no lo he probado al 100% pero las pocas
consultas que he hecho ya funcionan, ahora solo queda pulirlo.

El problema que tenia era que mi boton no pasaba los parametros de la
tabla y de la busqueda, para solucionarlo:

vista de index:
------------------------------------------------------------------------
<%form_tag zonaclientes_path, :method=>'get' do %>

<%= select_tag "tabla", options_for_select(["Famitel",
"Polycom_Kirk","LG_Nortel", "Dimax_Videovigilancia"]) %>

<%= text_field_tag :buscar, params[:codigo_aleatorio]%>  <!--#le paso el
texto a buscar-->

<%= submit_tag "Buscar", :name=>nil%>
<%end%>



En el controlador: Al ser un submit_tag evaluo los parametros buscar y
tabla en el index.
Os muestro el codigo definitivo d este:
 def index

    case params[:tabla]
        when "Famitel"
         @ticket=Ticket.find( :first, :conditions => ['reference LIKE
?',params[:buscar]])
        render :template => 'zonaclientes/showFamitel'
      return

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


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

     return

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

         return


     end

     respond_to do |format|
     format.html # index.html.erb
     end
 end


----------------------------------------------------



Espero que pueda servir a alguien en el futuro. Un saludo y gracias a
todos por la ayuda
This topic is locked and can not be replied to.