Appelant pour la première fois, écoute longue durée. J'ai un problème avec mes associations Rails. Mon objectif est de créer un site Web d'événements où les utilisateurs peuvent créer des événements et participer à des événements. J'ai créé mes modèles utilisateurs et événements et associations telles que:Rails aucune association d'erreur de méthode
class Event
belongs_to :creator, :class_name => "User"
...
end
class User
has_many :created_events, :foreign_key => "creator_id", :class_name => "Event", dependent: :destroy
...
end
Mon modèle d'événement ne dispose que d'une description et creator_id clé étrangère, où mon utilisateur a juste un champ de nom. Mais je reçois une erreur sans méthode lorsque j'essaie d'utiliser @event = current_user.events.build
. current_user
utilise juste des sessions pour retourner l'ID utilisateur
Je ne peux pas pour la vie de moi comprendre pourquoi Im obtenir cette erreur.
J'ai le projet complet sur this Github repository.
N'oubliez pas de consulter le [guide de style] (https://meta.stackexchange.com/questions/18614/style-guide-for-questions-and-answers), vous devriez toujours essayer de formater le code mieux que possible. – Oxfist
Si 'current_user' est juste l'identifiant de l'utilisateur, alors c'est un nombre qui n'est pas une instance de la classe User, c'est pourquoi il n'y a pas de méthode' events'. Utilisez cet id pour obtenir l'utilisateur que vous voulez avec quelque chose comme 'User.find (current_user)'. – Oxfist
la classe 'User'' has_many: created_events', pas 'has_many: events'. Donc, essayez 'current_user.created_events.build' au lieu de' current_user.events.build'. – jvillian