Rails 6.0.3.2 ruby 2.6.5p114 (2019-10-01 revision 67812) vscode
https://qiita.com/tenitiumai/items/3d9466d7a24197f690bb Ziel ist es, eine DM-Funktion mit Bezug auf zu erstellen.
Dieser Artikel soll Ihnen jedoch zeigen, wie Sie den Fehler beheben können. Ich werde das Verfahren zum Erstellen einer bestimmten DM-Funktion weglassen (siehe obigen Referenzartikel).
Referenzartikel https://qiita.com/krppppp/items/0db4184e9df553f05048 Hierbei wird darauf geachtet, dass kein has_many vorhanden sein kann: durch Assoziation 'Benutzer # Follower', die durch 'Benutzer # Follower_Beziehungen' geht, bevor die durch Assoziationen definiert werden. Anscheinend ist das Modell in der falschen Reihenfolge platziert. Insbesondere kann gefolgert werden, dass ein Fehler aufgetreten ist, weil die Follower geladen wurden, bevor die follers_relationships geladen wurden.
Mit Blick auf den Code,
app/models/user.rb
has_many :followers, through: :follower_relationships
has_many :follower_relationships, foreign_key: "following_id", class_name:
"Relationship", dependent: :destroy
has_many :followings, through: :following_relationships
Und Follower stehen über follower_relationships. Dies
app/models/user.rb
has_many :followings, through: :following_relationships
has_many :follower_relationships, foreign_key: "following_id", class_name:
"Relationship", dependent: :destroy
has_many :followers, through: :follower_relationships
Wenn ja, kann es gelöst werden. Wenn Sie auf die Benutzerdetailseite zugreifen, auf der sich die DM-Schaltfläche befindet,
Ohne Zwischenfall abgeschlossen.
Ich habe nicht erwartet, dass der Fehler in der Reihenfolge der Modelle auftritt. Von nun an möchte ich auch diesen Punkt kennen.
Recommended Posts