[RUBY] Seien Sie vorsichtig, wenn Sie mehrere Artikel verwenden

Anzahl der Referenzartikel

Qiita hat viele attraktive Artikel, daher verweise ich eher auf viele Artikel. Da es jedoch je nach Artikel verschiedene Schreibweisen gibt, kann es zu Fehlern kommen, wenn Sie auf mehrere Artikel verweisen, ohne den Inhalt zu verstehen. Daher sollte bei der Implementierung einer Funktion nur auf einen Artikel verwiesen werden.

Wenn Sie auf mehrere Artikel verweisen ...

Zum Beispiel, wenn Sie eine DM-Funktion erstellen möchten https://qiita.com/tenitiumai/items/3d9466d7a24197f690bb  Nehmen wir an, Sie haben sich darauf bezogen.

model/message.rb


class Message < ApplicationRecord
  belongs_to :user
  belongs_to :room
end

Angenommen, Sie haben Code wie diesen in user.rb im obigen Artikel. Allerdings, weil ich in Wirklichkeit auf einen anderen Artikel verwiesen habe

model/message.rb


class User < ApplicationRecord
  validate :messages, presence: true
  has_many :messages, dependent: :destroy
  has_many :entries, dependent: :destroy
end

Angenommen, es wurde beschrieben als.

Selbst wenn dies nicht funktioniert, führt dies zu unerwarteten Fehlern, wenn Sie weiterhin mehrere unnötige Codes schreiben. Es ist hier nicht erforderlich, Nachrichten mit validate zu binden. Dies liegt daran, dass es seltsam ist, Code zu schreiben, der immer eine Nachricht anfordert, obwohl es sich um ein Nachrichtenmodell handelt.

models/user.rb


  has_many :comments, dependent: :destroy 
  has_many :entries, dependent: :destroy
  has_many :messages, dependent: :destroy
  has_many :rooms, dependent: :destroy

Dies hat auch einen unnötigen Teil. In der DM-Funktion gelangt der Benutzer über die Zwischentabelleneinträge in den Raum, sodass has_many: room nicht geschrieben werden muss. Wie oben erwähnt, wenn sich der Code unnötig häuft![Screenshot 2020-09-09 14.20.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com /0/650686/c6603d57-f746-46bb-14cd-7ba85f39fa7b.png) Sie erhalten eine solche Fehlermeldung. Insbesondere ist der Modellteil die Grundlage für die Erstellung von Controllern und Acitons, sodass Sie sicher sein können, so viel wie möglich keinen unnötigen Code auf die Modellseite zu schreiben.

Zusammenfassung

Dieser Fehler wird dadurch verursacht, dass die Grundlagen nicht richtig verstanden werden. Es ist für Anfänger einfach, dies zu tun, daher ist es sicher, es so eins wie möglich zu halten, wenn Sie sich auf den Artikel beziehen (obwohl es in Ordnung ist, sich auf mehrere zu beziehen, wenn Sie die Grundlagen verstehen ...).

Recommended Posts

Seien Sie vorsichtig, wenn Sie mehrere Artikel verwenden
Achten Sie bei der Verwendung von MessageEncryptor mit Rails 5.2 / 6.0 auf den Zeitpunkt der Initialisierung
Beachten Sie beim Upgrade von Tomcat auf einem Web-System, das Oracle verwendet
Seien Sie vorsichtig, wenn Sie die Rückkehr in Ruby weglassen
Seien Sie vorsichtig mit Anfragen und Antworten, wenn Sie das Serverless Framework mit Java verwenden
[Schienen] Beachten Sie bei der Verwendung von Ajax die "CSRF-Maßnahmen".
[Java10] Achten Sie darauf, var und generics nicht zusammen zu verwenden
Fehler bei der Verwendung von Schienen Capybara
Detaillierte Tipps zur Verwendung von Rails