[Ror-es] Agrupacion tabla

Amaia amaia at dabne.net
Fri Apr 27 17:27:04 GMT 2007


Hola

No sé si he entendido bien lo que planteas, porque tampoco entiendo bien
las otras respuestas, así que puede que lo que te cuento no tenga nada
que ver con lo que necesitas pero ahí va lo que yo haría.

Haces tres modelos, la orden, el componente y un modelo intermedio que
relacione los dos y que tenga un atributo cantidad.

class Orden < ActiveRecord::Base
  has_many :items
  has_many :componentes, :through => :items
end

class Item < ActiveRecord::Base
  belongs_to :ordenes
  belongs_to :componentes
end

class Componente < ActiveRecord::Base
  has_many :items
  has_many :ordenes, :through => :items
end

En Item pones un campo cantidad y para cada linea del fichero que estas
importando creas o buscas la orden, creas o buscas el componente y creas
un objeto item con orden_id, componente_id y cantidad.
Para lo de crear o buscar creo que hay un metodo
create_or_find_by(atributo).

Para representar la lista de componentes de la orden algo como

orden.items.each do |item|
  item.componente.nombre
  item.cantidad
end

En una aplicación que estoy desarrollando con Jaime lo hemos hecho así
para productos químicos que contienen sustancias toxicas, y que cada uno
de ellos contiene las sustancias en una concentración diferente. Yo creo
que sirve el mismo planteamiento.

Ya me dirás si te sirve...

saludos,
Amaia

-- 
~*~*~ ~*~*~
Amaia Castro
~*~*~ ~*~*~
Dabne Tecnologías de la Información
c/Los Madrazo, 16 - 3º 4
28014 Madrid
Tel.: (+34) 91 369 17 50
www.dabne.net
~*~*~ ~*~*~


Lourdes escribió:
> Hola, buenos dias Rafa.
> 
> Es un fichero de texto, que lo estoy cargando en una tabla de mi 
> aplicación, mediante un File.open , lo que no sé muy bien, es como 
> almacenarlo para despues representarlo como quiero. Supongo que sería 
> mejor cargarlo en un registro por cada orden, desde el principio, para 
> poder representarlo despues, pero entonces tengo una tabla un pongo 
> chunga, con componente1, kilos1, componente2, kilos2, 
> componente3,kilos3...... así por lo menos hasta 15.
> 
> Pero no sé si es la forma correcta de hacerlo en rails, antes lo hacía 
> en access.
> 
> Saludos y gracias.
> 
> 


More information about the Ror-es mailing list