Dans un souci que j'exécuter ce code:Rails: Vérifiez si l'association existe sur le modèle
self.user&.favorite(self, scope: [:watching]) if self.respond_to? user
self.team&.user.favorite(self, scope: [:watching]) if self.respond_to? team
J'inclus cette préoccupation dans User
& Team
. Chaque fois que je crée un User
, je reçois l'erreur suivante:
NameError: undefined local variable or method `user' for #<User:0xb0e9020>
En va de même pour la création d'un Team
.
Pourquoi cela se produit-il? Évidemment, User
n'a pas de méthode (ou équivalent) qui répond à l'utilisateur sur une instance. Mais c'est pourquoi j'ai ajouté if self.respond_to? user
à l'instruction.