Qiita a de nombreux articles attrayants, j'ai donc tendance à me référer à de nombreux articles. Cependant, comme il existe différentes façons d'écrire selon l'article, si vous faites référence à plusieurs articles sans en comprendre le contenu, cela a tendance à provoquer une erreur. Par conséquent, lors de la mise en œuvre d'une fonction, un seul article doit être mentionné.
Par exemple, si vous souhaitez créer une fonction DM https://qiita.com/tenitiumai/items/3d9466d7a24197f690bb Supposons que vous en ayez parlé.
model/message.rb
class Message < ApplicationRecord
belongs_to :user
belongs_to :room
end
Supposons que vous ayez un code comme celui-ci dans user.rb dans l'article ci-dessus. Cependant, parce que j'ai fait référence à un autre article, en réalité
model/message.rb
class User < ApplicationRecord
validate :messages, presence: true
has_many :messages, dependent: :destroy
has_many :entries, dependent: :destroy
end
Supposons qu'il soit décrit comme.
Même si celui-ci ne fonctionne pas, si vous continuez à écrire plusieurs codes inutiles, cela provoquera des erreurs inattendues. Il n'est pas nécessaire de lier les messages avec valider ici. C'est parce qu'il est étrange d'écrire du code qui demande toujours un message même s'il s'agit d'un modèle de message.
models/user.rb
has_many :comments, dependent: :destroy
has_many :entries, dependent: :destroy
has_many :messages, dependent: :destroy
has_many :rooms, dependent: :destroy
Cela a également une partie inutile. Dans la fonction DM, l'utilisateur arrive dans la salle via les entrées de table intermédiaires, il n'est donc pas nécessaire d'écrire has_many: rooms. Comme mentionné ci-dessus, lorsque le code s'accumule inutilement![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) Vous obtiendrez une erreur comme celle-ci. En particulier, la partie modèle est la base de la création de contrôleurs et d'acitons, il est donc prudent de s'abstenir autant que possible d'écrire du code inutile sur la page modèle.
Cette erreur est due à une mauvaise compréhension des bases. Il est facile pour les débutants de le faire, il est donc prudent de le garder aussi un que possible en se référant à l'article (bien qu'il soit correct de se référer à plusieurs si vous pouvez comprendre les bases ...).
Recommended Posts