Mostrar datos en una busqueda

hola amigos… saben tengo elsiguiente problema…

En laparte de busqueda de una factura puedo mostrar los datos de la
factura pero no puedo mostrar los datos de los detalles…

bueno mis tablas son factura y detalles, en el detalle el campo que
relaciona es el nro_factura con el campo de la tabla detalles
factura_nro… porfa nesesito ayuda para mostrar esos datos del detalle

codigos:

factura_controller

def search
@factura = Factura.search(params[:q])
@detalle = Detalle.find(:all, :conditions => [“factura_nro = ?”,
:q])
end

buscar

Numero Factura <%= form_tag :action => 'search', :controller => 'factura' %> <%= text_field_tag :q, '', {:size => 15} %>

<%= observe_field (:q,
:frequency => 0.5,
:update => :main,
:url => { :action => :search },
:loading => ‘Element.show(“search_indicator”)’,
:complete => ‘Element.hide(“search_indicator”)’) %>


<%= submit_tag ‘Buscar’ %>
<%= end_form_tag %>

y en laparte donde se muestran los datos es: search.rhtml

<% if @factura.to_a.empty? %>

No se encontraron Facturas

<% else %>

Detalle

<% for detalle in @detalle %>

<% end %>

Cantidad Detalle Precio Unitario total
<%= detalle.cantidad %> <%= detalle.detalle %> <%= detalle.precio_unitario %> <%= detalle.total %>

<% end %>

<%= link_to 'Back', :controller => 'factura', :action => 'buscar' %>

---

en ese caso solo me muestra los titulos de la tabla pero no me muestra
los datos

agradezco su ayuda, de antemano gracias

Prueba a modificar el método search y lo pones así

def search
@factura = Factura.search(params[:q])
@detalles = Detalle.find(:all, :conditions => [“factura_nro = ?”,
@fatura.id])
end

Observa que he cabiado @detalle por @detalles, esto no hará que funcione
pero tiene más lógica, luego cuando hagas el for tendrás
<% for detalle in @detalles %>

Es una chorrada pero ayuda a ver las variables que tienen más de un
registro.

Francisco I. wrote:

hola amigos… saben tengo elsiguiente problema…

En laparte de busqueda de una factura puedo mostrar los datos de la
factura pero no puedo mostrar los datos de los detalles…

bueno mis tablas son factura y detalles, en el detalle el campo que
relaciona es el nro_factura con el campo de la tabla detalles
factura_nro… porfa nesesito ayuda para mostrar esos datos del detalle

codigos:

factura_controller

def search
@factura = Factura.search(params[:q])
@detalle = Detalle.find(:all, :conditions => [“factura_nro = ?”,
:q])
end

buscar

estuve tratando, pero no resulta… no se que pasa he tratado varias
formas antes de poner esto pero no quire nada.

alomejor hay algo por ahi…

lo otro amigo juan pablo, lo estoy haciendo asi y no relacionando por el
id por que asi no dependo tanto del scaffold por ejemplo y hago las
relaciones manualmente y aprendo el codigo para no depender tanto de el
codigo que te genera el scaffold… no se si me entiendes… :wink:

pero voy a seguir tratando aver que pasa… si se les ocurre algo no
tengo problema en leer sus conclusiones… :wink:

pero apenas resuelva el problema les digo que era…ç

gracias nuevamente

Por lo que dice Francisco debería de poner

def search
@factura = Factura.search(params[:q])
@detalles = Detalle.find(:all, :conditions => [“factura_nro = ?”,
@fatura.nro_factura http://fatura.id/])
end

Lo que no entiendo es porque has hecho la relación de esa manera y no
como
lo hace rails por defecto? usando detalle_id y factura_id, creo que es
mas
sencillo de esa manera.

saludos,
Juan P…

El día 21/02/07, Emili Parreño [email protected]
escribió:

hola, miren arregle el problema.

Tenia problemas con los parametros, ya que por alguna razon no pescaba
el parametro :q … asi que lo que hice fue lo siguiente ç

def search
@numero = @params[:q]
@factura = Factura.search(params[:q])
@detalles = Detalle.find(:all, :conditions => [“factura_nro = ?”,
@numero])
end

recate el parametro en la variable @numero y despues sela puse en
@detalles

bueno gracias nuevamente … Igual me sirvio lo que pusieron…

On Wed, Feb 21, 2007 at 07:41:32PM +0100, Francisco I. wrote:

estuve tratando, pero no resulta… no se que pasa he tratado varias
formas antes de poner esto pero no quire nada.

alomejor hay algo por ahi…

lo otro amigo juan pablo, lo estoy haciendo asi y no relacionando por el
id por que asi no dependo tanto del scaffold por ejemplo y hago las
relaciones manualmente y aprendo el codigo para no depender tanto de el
codigo que te genera el scaffold… no se si me entiendes… :wink:

¿Y qué tiene que ver eso con el scaffold? Uno de los principios
másimportantes de Rails es el de “Convención frente a configuración” y la
convención en las relaciones de ese tipo es usar “factura_id”.

Por supuesto que puedes usar otros nombres u organizar tus modelos como
te apetezca (Rails también da soporte a casos que no sigan las
convenciones), pero “no depender del scaffold” no parece un motivo
sólido (principalmente porque no tiene nada que ver).

Saludos.


Imobach González Sosa
imobachgs en banot punto net
osoh en jabberes punto org

Imobach González Sosa wrote:

On Wed, Feb 21, 2007 at 07:41:32PM +0100, Francisco I. wrote:

estuve tratando, pero no resulta… no se que pasa he tratado varias
formas antes de poner esto pero no quire nada.

alomejor hay algo por ahi…

lo otro amigo juan pablo, lo estoy haciendo asi y no relacionando por el
id por que asi no dependo tanto del scaffold por ejemplo y hago las
relaciones manualmente y aprendo el codigo para no depender tanto de el
codigo que te genera el scaffold… no se si me entiendes… :wink:

�Y qu� tiene que ver eso con el scaffold? Uno de los principios
m�simportantes de Rails es el de “Convenci�n frente a configuraci�n” y la
convenci�n en las relaciones de ese tipo es usar “factura_id”.

Por supuesto que puedes usar otros nombres u organizar tus modelos como
te apetezca (Rails tambi�n da soporte a casos que no sigan las
convenciones), pero “no depender del scaffold” no parece un motivo
s�lido (principalmente porque no tiene nada que ver).

Saludos.


Imobach Gonz�lez Sosa
imobachgs en banot punto net
osoh en jabberes punto org

bueno pense que lo mirabas de esa manera, alomejor no entendi bien eso,
pero ademas el sistema me lo pidieron asi.

saludos