[ruby-it] Re: Nome tabella in una variabile, come fare selec
Luca Guidi
guidi.luca a gmail.com
Mer 1 Ago 2007 12:01:28 CEST
Le cinque tabelle sono mappate da oggetti Ruby? Cioè fanno parte del
model domain di Rails?
Supponi di avere una classe Calendar per la relativa tabella calendars e
che il param id referenzi il seguente record:
id | file_name | id_file_type
123 | calendar.xml | calendar
def show
file = FileList.find(params[:id])
klass = file.file_type.capitalize.constantize #=> Calendar
@file = klass.find_by_file_name(file.file_name) #=> select * from
calendars where file_name = 'calendar.xml'
end
Non è molto elegante, ma intuisco che lo schema db è legacy, perché
avresti potuto risolvere con la Single Table Inheritance
(http://www.martinfowler.com/eaaCatalog/singleTableInheritance.html),
senza bisogno di usare la reflection.
LG
Maggiori informazioni sulla lista
Ml