Has_many through + REST: Come aggiornare le associazioni?

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/

Chi mi aiuta a scogliere il dubbio amletico?

Ringrazio in anticipo