Hola rail’s
tengo la siguiente situación y no se cómo resolverla:
- Tabla taxons (id y nombre)
- Tabla synonyms (taxon_id y synonym_id)
Las dos columnas de la tabla synonyms son llave externa de la tabla
taxons. De esta forma puedo almacenar los sinónimos existentes para un
taxon.
Mi problema es que no se cómo representar esto en rails.
Cualquier ayuda será bienvenida.
Muchas gracias.
Hola Ramon
Por lo que dices (si no lo he entendido mal), la estructura de tablas
tendrÃa que ser asÃ
Taxons (id, nombre)
Synonym (id, nombre)
taxons_synonym (id, taxon_id, synonym_id)
De esta manera relacionas en una tabla los taxons con sus sinónimos.
En los modelos tendrÃas que poner esto
Modelo Taxon
has_and_belongs_to_many :synonyms (o como se diga en plural)
Modelo Synonym
has_and_belongs_to_many :taxons
Tienes un pdf que explica las relaciones entre tablas en mi blog
Espero que te sirva, un saludo
Emili Parreño
Hola rail’s
tengo la siguiente situación y no se cómo resolverla:
- Tabla taxons (id y nombre)
- Tabla synonyms (taxon_id y synonym_id)
Las dos columnas de la tabla synonyms son llave externa de la tabla
taxons. De esta forma puedo almacenar los sinónimos existentes para un
taxon.
Mi problema es que no se cómo representar esto en rails.
Cualquier ayuda será bienvenida.
Muchas gracias.
Si tienes las columnas taxon_id y tsynonym_id y ambas se refieres a
Taxones
puedes hacer:
class Synonym < ActiveRecord::Base
belongs_to :taxon, :class_name => ‘Taxon’
belongs_to :tsynonym, :class_name => ‘Taxon’
end
Como ves, te he cambiado el nombre de la columna synonym_id para que no
haya
confusión, porque esa deberÃa estar reservada para el id de la tabla
Synonym.
saludos,
Juanjo
----- Original Message -----
From: “Ramon Perez” [email protected]
To: [email protected]
Sent: Monday, October 30, 2006 2:36 PM
Subject: [Ror-es] Ayuda, pregunta de has_many?
Es un has_and_belongs_to_many entre taxones y taxones.
def Taxon < ActiveRecord::Base
has_and_belongs_to_many :synonyms,
:class_name => “Taxon”,
:join_table => “synonyms”,
:foreign_key => “taxon_id”,
:association_foreign_key => “synonym_id”
…
end
No estoy 100% seguro de los foreign keys… es posible que sea
necesario invertirlos, pero no tengo una tabla con datos para probarlo.