# Has\_many through + REST: Come aggiornare le associazioni?

**URL:** <https://www.ruby-forum.com/t/has-many-through-rest-come-aggiornare-le-associazioni/120658>\
**Category:** IT\
**Created:** [November 19, 2007, 4:33pm UTC](https://www.ruby-forum.com/t/has-many-through-rest-come-aggiornare-le-associazioni/120658 "2007-11-19T16:33:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![carminem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/90db22/32.png) [@carminem](https://www.ruby-forum.com/u/carminem)\
**Post date:** [November 19, 2007, 4:33pm UTC](https://www.ruby-forum.com/t/has-many-through-rest-come-aggiornare-le-associazioni/120658/1 "2007-11-19T16:33:29Z")

</div>

Salve a tutti,

Sono nella seguente situazione:

Model:

1. Document

- has\_many :documentations
- has\_many :users, :through =\> :documentations

1. User

- has\_many :documentations
- has\_many :documents, :through =\> :documentations

Il tutto per far sÃ¬ che, come ben sapete, sia realizzata un’associazione  
di tipo “many to many” tra i due modelli.

CiÃ² comporta la creazione del join model “Documentation” che ho dotato  
di un proprio controller “DocumentationsController”.

Supponiamo di dover aggiornare un’istanza di Document ed, in  
particolare, l’unica modifica da effettuare riguarda gli utenti ad essa  
abbinati.

Come ci si comporta in questo caso?

1. Si agisce direttamente sul join model?
2. Si agisce nel DocumentsController (action “update”) analizzando la  
collezione degli utenti abbinati e modificandola opportunamente?
3. ???

Dopo aver visto la presentazione del 2006 fatta da DHH a proposito di “A  
world of resources”, io sarei tentato di agire direttamente sul join  
model, perÃ²  
qualcosa mi spinge a non scartare la soluzione Nr. 2.  
In questo, sono confortato anche da quanto leggo qui:  
[http://tuples.us/2007/05/09/metaprogramming-has\_many-through-accessors/](http://tuples.us/2007/05/09/metaprogramming-has_many-through-accessors/)

Chi mi aiuta a scogliere il dubbio amletico?

Ringrazio in anticipo
