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