J'ai cinq tables que je suis en train de se rendre au travail bien ensemble, mais avoir besoin d'aide.Eviter les données en double dans DB (pour une utilisation avec Rails)
J'ai trois tables principales:
- Comptes
- membres
- et rôles.
Avec deux tables de jointure
- account_members
- et account_member_roles.
Le tableau des membres comptes et sont reliés par account_members (fk ACCOUNT_ID et member_id) la table.
Les 2 autres tables sont le problème (rôles et account_member_roles).
Un membre d'un compte peut avoir plus d'un rôle et je le account_member_roles (fk account_member_id et role_id) Table de rejoindre les account_members et la table de jointure rôles tableau.
Cela semble logique, mais pouvez-vous avoir une relation avec une table de jointure? Ce que je voudrais être en mesure de faire est lors de la création d'un compte, par exemple, je voudrais @ account.save pour inclure les rôles et mettre à jour la table compte_member_roles soigneusement ..... mais à travers le compte_members joindre la table.
J'ai essayé .....
accept_nested_attributes_for :members, :account_member_roles
dans le account.rb mais je reçois .....
ActiveRecord::HasManyThroughCantAssociateThroughHasManyReflection (Cannot modify association 'Account#account_member_roles' because the source reflection class 'AccountMemberRole' is associated to 'AccountMember' via :has_many.)
à essayer de sauver un record.
Des conseils sur la façon dont j'aborder ce sujet?
CIA
-ants
Vous avez décrit comment vous résolvez un problème, mais vous n'avez pas décrit le problème que vous essayez de résoudre. @ Sleepycat (ci-dessous) a décrit un problème. Est-ce celui que vous essayez de résoudre? –