[ruby-it] Re: Re: Nome tabella in una variabile, come fare selec

Enzo Ferro buzman1 a hotmail.com
Mer 1 Ago 2007 12:28:50 CEST


Luca Guidi wrote:
> 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

Sì le cinque tabella sono mappate da oggetti Ruby, ogniuna ha il suo 
model.
Sì purtroppo il db è legacy, cmq leggendo "Agile web development with 
rails" ho trovato il capitolo sulle polimorphic associations che sembra 
fare al caso mio (almeno penso).
http://wiki.rubyonrails.org/rails/pages/UnderstandingPolymorphicAssociations)

Grazie mille Ciao
-- 
Posted via http://www.ruby-forum.com/.


Maggiori informazioni sulla lista Ml