[ruby-it] Come riempire una tabella intermedia con più campi?

Pietro Giorgianni giorgian a gmail.com
Gio 28 Gen 2010 14:56:30 CET


Il 27 gennaio 2010 20.26, pezzuya .. <pezzuya-gruppi a yahoo.it> ha scritto:
> Ciao a tutti, ho il problema in oggetto.
> La mia tabella intermedia "clients_models" é composta da:
>
> id (solito...autoincrementale)
> model_id (riferimento all'id della tabella models)
> client_id (riferimento all'id della tabella models)
> x (campo da riempire)
> y (campo da riempire)
> z (campo da riempire)
>
> Ho già "legato" tra loro i vari modelli client, model e clients_model
> con le relazioni belongs_to has_many through ecc. e tutto funziona solo
> che non sò quale sia il modo migliore per riempire e, allo stesso tempo,
> validare i campi x,y,z.
>
> Infatti facendo un qualcosa del genere:
>
> @model.clients_models << @client
>
> vengono riempiti solo i campi id, model_id, client_id.
>
> Forse potrei riempire (x,y,z) nel "modo tradizionale" creando un nuovo
> oggetto ClientsModel e riempiendolo con i campi passati dalla
> vista(form_for).
>
> Però mi chiedevo se c'era un modo "più elegante" o semplicemente "più
> furbo" di riempirli utilizzando le relazioni precedentemente create tra
> i modelli.

Non capisco, perché crei le relazioni tra i modelli prima e poi
inserisci gli altri dati?

Immagino tu abbia un form, in cui per un dato client selezioni
molteplici model (o viceversa) e per ciascuno le informazioni x, y, z.

client avrà molti clients_models, così anche models; puoi gestire
quindi il tutto come un normale uno a molti, vi sono parecchi esempi
in giro, su railscasts o altrove.


pietro


More information about the Ml mailing list