Erstes Anrufer, lange Zeit Zuhörer. Ich habe ein Problem mit meinen Rails-Verbindungen. Mein Ziel ist es, eine Event-Website zu erstellen, auf der Nutzer Events erstellen und an Veranstaltungen teilnehmen können. Ich habe meine Modelle Benutzer und Events und Verbände als wie geschaffen:Schienen keine Methode Fehler Assoziationen
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
Mein Event-Modell hat nur eine Beschreibung und creator_id Fremdschlüssel, wo mein Benutzer nur ein Namensfeld hat. Aber ich bekomme keinen Fehler, wenn ich versuche, @event = current_user.events.build
zu verwenden. current_user
verwendet nur Sitzungen, um die Benutzer-ID
Ich kann nicht für das Leben von mir herausfinden, warum ich diesen Fehler bekommen.
Ich habe das vollständige Projekt auf this Github repository.
Achten Sie darauf, die [style guide] (https://meta.stackexchange.com/questions/18614/style-guide-for-questions-and-answers) zu überprüfen, sollten Sie immer versuchen, den Code als zu formatieren so gut wie möglich. – Oxfist
Wenn 'current_user' nur die Benutzer-ID ist, dann handelt es sich um eine Nummer, die keine Instanz der Klasse User ist. Deshalb gibt es keine 'events'-Methode. Verwenden Sie diese ID, um den gewünschten Benutzer mit "User.find (current_user)" zu erhalten. – Oxfist
Klasse 'Benutzer'' has_many: created_events', nicht 'has_many: events'. Versuchen Sie also 'current_user.created_events.build' anstelle von' current_user.events.build'. – jvillian