Cette erreur est apparue chez moi lorsque j’ai effectué les étapes suivantes.
Tout a été fait dans un plugin.
J’ajoutais un validateur à la classe Post… le contenu n’a pas d’importance, mais je le fournis pour les besoins de la réponse.
frozen_string_literal: true
class MainPostValidator < ActiveModel::Validator
def validate(record)
puts ‘TTTTT’
p recordraw = record.raw unless raw.present? post.errors.add :base, 'This record is invalid' endend
private
def some_complex_logic
# …
end
end
Avant de lancer le serveur avec les nouvelles modifications, j’avais le site ouvert sur la page d’édition d’un article, prêt à vérifier si l’enregistrement des modifications déclenchait mon validateur.
J’ai redémarré le serveur, mais je n’ai pas actualisé la page ! Lorsque j’ai cliqué sur « Enregistrer les modifications » sur l’article, j’ai vu cette erreur. Elle a disparu dès que j’ai actualisé la page, et peut-être aussi après avoir redémarré l’instance du serveur.
Tout cela a été fait en local en mode développement.
J’espère que cela vous aidera ![]()
Le validateur a été déclaré dans un nouveau fichier, et le code supplémentaire de Post pour appliquer le validateur se trouvait également dans un nouveau fichier.
require_dependency 'post' Post.class_eval { include ActiveModel::Validations validates_with MainPostValidator }