Relazionare tabelle con chiavi multiple

Con rails 2.1.0 stavo provando a relazionare tabelle su sql server che
hanno chiavi multiple e relazionate tramite colonne che non sono chiavi
primarie. Sulla documentazione del framework non ho trovato nulla e mi
sono inventato una cosa del genere ma non funziona, qualcuno sa se si
può fare e come?

belongs_to :pippo, :foreign_key => [:cip, :ciop], :conditions => {:tipo
=> 0…5}

in conditions ci sono le condizioni statiche e vengono applicate ma le
foreign key vengono ignorate e la relazione viene fatta tramite la
primary key (che tra l’altro accetta solo una colonna)

questi es. non funzionano:
set_primary_key [:cip, :ciop]
set_primary_key “cip, ciop”

Avendo poche speranze di riuscire a relazionarle ho provato ad usare un
altro sistema, è un pò bruttino per questo scopo ma funziona bene:

creo uno scope dinamico, credo che si possa fare solo dalla versione
2.1.0

named_scope :get, lambda { |*args| {:conditions => [“cip = ? AND ciop =
?”, args[0], args[1] ]} }

named_scope :disney, :conditions => {:tipo => 0…5}

La uso così:
Personaggio.get(1,5)

e anche

Personaggio.get(1,5).disney

On Jul 10, 2008, at 5:24 PM, Marco M. wrote:

Con rails 2.1.0 stavo provando a relazionare tabelle su sql server che
hanno chiavi multiple e relazionate tramite colonne che non sono
chiavi
primarie. Sulla documentazione del framework non ho trovato nulla e mi
sono inventato una cosa del genere ma non funziona, qualcuno sa se si
può fare e come?

http://compositekeys.rubyforge.org/

S.

http://compositekeys.rubyforge.org/

S.

Proprio quello che fa al caso mio, grazie!
Non è ancora testato su sql server, farò il pioniere