[ruby-it] Re: Nome tabella in una variabile, come fare selec
Enzo Ferro
buzman1 a hotmail.com
Mer 1 Ago 2007 11:22:47 CEST
> Ti sconsiglio questa pratica, perché esponi il tuo database in modo
> eccessivo. Se nella request la stringa assumesse valore users o admins?
Ciao Luca, accetto volentieri consigli.
Ti spiego il mio caso: ho una tabella file_list dalla quale recupero le
informazioni(id, file_name, id_file_type) di alcuni file xml contenuti
nel mio db. A questa tabella sono collegate cinque tabelle nelle quali
sono contenuti i file xml. Il nome di queste tabelle corrisponde al
contenuto della tabella file_type.
Utilizzando il file_type io creo una query per recuperare il file xml da
una delle cinque tabelle.
Per capirci meglio nel mio metodo show:
def show
@file = FileList.find(params[:id])
typename = @file.file_type.filetype
eval("@file.#{typename}.file")
end
1) carico le informazioni del singolo record dalla tabella file_list che
ha il campo id_file_type come foreign_key della tabella file_type
2) carico la variabile typename con il file_type che corrisponde al nome
di una delle cinque tabelle che contengono il file xml
3) costruisco una query che dovrebbe risultare così:
SELECT * FROM 'typename' WHERE SELECT * FROM other WHERE
('typename'.id = 60)
Potresti consigliarmi il metodo migliore e più sicuro di realizzazione?
Come avrai capito sono alle prime armi di RoR
Grazie ciao
--
Posted via http://www.ruby-forum.com/.
Maggiori informazioni sulla lista
Ml