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