[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