Ho difficoltà a cercare di capire/avvolgere il mio cervello intorno a questo. Sto cercando di creare un rapporto che permette questo: utenteUtenti e gruppi molti a molti, ma i gruppi hanno proprietari
- può appartenere a molti gruppi
- gruppo può avere molti utenti
- un gruppo ha un proprietario che è un utente di proprietà
- gruppo può essere trasferito
Ho la relazione molti-a-molti impostata, ma non riesco a capire come impostare la funzionalità di proprietà.
Ecco quello che ho finora nei miei modelli:
class Group < ActiveRecord::Base
has_and_belongs_to_many :users
attr_accessible :name, :description, :isPublic, :tag_list, :owner
end
class User < ActiveRecord::Base
has_and_belongs_to_many :groups
attr_accessible :name, :description, :owner_id
end
Qualsiasi aiuto sarebbe molto apprezzato !!
Caro Sean, ho appena scritto un vantaggio di ciò che possiamo fare (come risposta) se abbiamo un modello di JOIN, cioè una tabella di collegamento. – beck03076
La prima metà di questa è la migliore risposta. Se vuoi veramente avere un solo proprietario per un gruppo, metti una validazione sul modello Membership. Questo approccio consente inoltre di avere più proprietari (o amministratori) senza modificare lo schema. –
Grazie. Personalmente, vorrei fare il primo metodo, ma sono tutto per dare delle scelte. –