[RUBY] [Rails] ActiveRecord :: HasManyThrough-Bestellfehler in Benutzer # show

Umgebung

Rails 6.0.3.2 ruby 2.6.5p114 (2019-10-01 revision 67812) vscode

Zweck dieses Artikels

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).

Entsprechender Fehler

スクリーンショット 2020-09-09 12.51.19.png

Fehlerursache

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.

Lösungen

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, スクリーンショット 2020-09-09 13.15.47.png

Ohne Zwischenfall abgeschlossen.

abschließend

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

[Rails] ActiveRecord :: HasManyThrough-Bestellfehler in Benutzer # show
Migrationsfehler nach Activerecord-Zuordnung in der Rails5 + Docker-Umgebung
ActiveRecord :: NotNullViolation im Gerätefehler
[Rails] Unerwarteter Validierungsfehler im Gerät
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
[Rails] Lösung, wenn ein Migrationsfehler in Acts-as-Taggable-On auftritt
[Rails] Zeigt Avatare in Posts mit Active Storage an
500 Interner Serverfehler tritt in der Rails-Produktionsumgebung auf
[Rails] Rangfolge und Paginierung in der Reihenfolge der Likes
Group_by in Rails
Holen Sie sich Standortinformationen mit Rails und sortieren Sie in aufsteigender Reihenfolge
Ordne die Beiträge in der Reihenfolge ihrer Likes auf Rails an (Rangfolge)