Ho compiti e utenti. Quando un utente completa un'attività, creo un Completamento che ha un campo per indicare all'utente quanto tempo hanno trascorso. Ho bisogno di un modulo che mostri tutte le attività con lo stato di completamento e l'attributo time_spent. Al momento dell'invio, i completamenti esistenti dovrebbero essere aggiornati e nuovi dovrebbero essere creati. Mi piacerebbe farlo in Formtastic se possibile, ma sarò felice con una soluzione Rails 3 di base.Come visualizzare un modulo per un sottoinsieme di record associati, alcuni dei quali non esistono ancora?
Un altro aspetto è che voglio mostrare solo un determinato insieme di attività, come quelle che appartengono a un Milestone. Devo avere un modulo sul controller Milestone che post al controller di Completamenti?
class Milestone < ActiveRecord::Base
has_many :tasks
has_many :completions, :through => :tasks
end
UPDATE Ho cercato per giorni e ora ho trovato manydeadends. Questo Multiple objects in a Rails form è chiuso, ma richiede che tutti gli oggetti di collegamento esistano già.
Ciò che distingue questa domanda è che alcuni dei collegamenti non esistono ancora e non esiste un singolo modello per i nidi da annidare. Es. Con Ryan Daigle Nested Object Forms post ho realizzato questo lavoro in un modulo per modificare tutti i possibili completamenti per un utente, ma ho bisogno di modificare un sottoinsieme di possibili completamenti in un unico modulo. Devo creare un oggetto ridondante MilestoneCompletions con i completamenti has_many
e l'utente belongs_to
? Può un ActiveModel has_many
?
Ho appena cancellato la mia risposta per rendere più visibile la tua domanda, modifica la tua domanda con i dettagli che mi hai dato :) – apneadiving
Questo è molto premuroso! Ho dovuto superare questo problema, quindi alla fine ho rinunciato e ho lavorato intorno ad esso. Pubblicherò la mia risposta per chiunque sia interessato. – Turadg