Forum: Rails-ES como unir dos tablas

Posted by Jonathan A. (jonathan_a)
on 2011-03-09 18:27
Attachment: multiva.jpeg (52,9 KB)
Attachment: multiva.jpeg (52,9 KB)
soy muy muy nuevo en rails

unos dias

tengo que hacer una aplicacion para la empresa donde trabajo, si la hago
en un lenguaje que este dominado por cualquiera ( php porejemplo ) pss
dejaria de ser necesario para la empresa en cualquier momento, por eso
pense en hacerlo en ROR,

me he leido algo de documentacion de ROR y tengo dudas ( mi ingles no es
tan bueno )


tengo dos tablas

una de clientes y una de contactos

en la de clientes hay 4 campos que son co1, co2, co3 y co4
que son para almacenar el nombre del contacto del cliente


les paso la imagen de como quedaron las tablas

les agradecere el apoyo

GRACIAS
Posted by Sarah Allen (ultrasaurus)
on 2011-03-19 14:31
Hola,

Si los tablas clientes y contactos tienen modelos Cliente y Contacto, y 
un cliente tiene uno o mas contactos. La tabla contactos necessita una 
columna cliente_id y los modelos escribamos como eso:

class Cliente < ActiveRecord::Base
  has_many :contactos    # tiene mucho contactos
end

class Contacto < ActiveRecord::Base
  belongs_to :cliente   # hay uno cliente para eso contacto
end

Podemos verlo in rails console, como eso:
> c = Cliente.first
=> #<Cliente id: 1, nombre: "Gigante Co.", created_at: "2011-03-16 
18:48:09", updated_at: "2011-03-16 23:49:20">
> c.clientes
 => [#<Cliente id: 1, nombre: "Maria Rodriguez", cliente_id: 1, 
created_at: "2011-03-16 02:05:52", updated_at: "2011-03-16 02:05:52">, 
#<Cliente id: 2, nombre: "Maria Rodriguez", cliente_id: 2, created_at: 
"2011-03-16 02:07:28", updated_at: "2011-03-16 02:07:38">]

Es claro?

Sarah
http://www.ultrasaurus.com
http://blazingcloud.net
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.