Say utilisateur A est connecté à B, alors B utilisateur est automatiquement considéré comme lié à l'utilisateur A.Comment réaliser le concept de liste de connexion avec un coût minimal en utilisant les rails ActiveRecord?
User
has_many
connection
Tableau de connexion:
id, user_id, connected_user_id
Say
id || user_id|| connected_user_id
1 || 1 || 2
2 || 3 || 1
3 || 2 || 3
Résultat escompté:
User.find(1).connections
[< id utilisateur: 2, ...>, < id utilisateur: 3, ...>]
User.find(2).connections
[< id utilisateur: 1, .. .>, < id utilisateur: 3, ...>]
pourquoi connecter d_user_id est pris comme référence dans la table user? – Manish
@Manish vous devez ajouter une colonne connected_user_id à votre table users pour servir de référence à l'identifiant de l'autre utilisateur. J'ai mis à jour ma réponse avec des exemples de migrations pour le faire. – CChandler81
Ne pensez-vous pas que ce n'est pas la bonne façon, car il va créer plusieurs entrées d'enregistrement pour plusieurs connexions pour le même utilisateur? – Manish