2009-10-13 6 views
0

La validation Rails standard enveloppe mes champs remplis d'erreurs dans un div de la classe fieldWithErrors.Rails: Modification des rapports d'erreurs de validation?

Comment puis-je changer pour que le parent de l'élément erroné est attribué, à la place que la classe d'avoir une nouvelle div créée sur la page?

EDIT:

Per this website, ce enveloppements erreurs dans span s au lieu de div s, ce qui aide mon formatage un peu, mais j'aimerais vraiment juste coller la classe d'erreur dans l'élément parent ...

app/config/environment.rb (dans le bloc initialiseur):

config.action_view.field_error_proc = Proc.new { |html_tag, instance| %(<span class="fieldWithErrors">#{html_tag}</span>) } 

le Hpricot method listed on that site ressemble à ce que je veux, mais je ne sais pas où je devrais le dire. Je continue aussi à obtenir des erreurs uninitialized constant ActionView aussi. Quelqu'un peut-il aider?

Répondre

0

Génial!

J'ai compris comment obtenir this post working (je sais, je suis un novice).

Créer un nouveau fichier dans app/config/initializers; J'ai appelé le mien error_formatting.rb.

Coller la méthode optimisée à partir du site Web mentionné ci-dessus là-bas:

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance| 
    ... 
end 

Enregistrer. Jeter quelques hpricot avec une pincée de config.gem 'hpricot' dans le bloc d'initialisation app/config/environment.rb, puis rake gems:install, redémarrez l'application, et maintenant mon application fonctionne exactement comme je le veux aussi, comme un petit chaton mignon.

0

Vous pouvez toujours définir les divs avec la classe fieldWithErrors pour afficher inline. Vous pouvez utiliser CSS au lieu d'essayer de surcharger la méthode d'emballage de la validation.

+0

Ehh, pas exactement ce que je suis après; mes soucis de style sont tels que ce n'est pas une option viable pour moi. Je sais que cela peut être fait (voir le lien Hpricot ci-dessus, je viens de l'ajouter), je ne peux pas savoir où le placer dans mon application. Des pensées? – neezer

Questions connexes