2010-11-07 5 views
0

À l'heure actuelle, j'utilise ce qui suit pour afficher les messages d'erreur dans mon application Rails 3. Il est situé dans la vue de la mise en page sous l'en-tête:Traitement des messages d'erreur dans les rails

<% flash.each do |key, value| %> 
<div class="flash <%= key %>"><%= value %></div> 
<% end %> 

Cela fonctionne bien pour la plupart des cas, mais quand j'ai un signin pour, et l'utilisateur entre des informations d'identification non valides, affiche un message d'erreur dans l'en-tête est mauvais. C'est loin de la forme. Et la plupart des sites montrent le message d'erreur juste au-dessus du formulaire?

Comment puis-je faire cela? Avez-vous vraiment besoin de spécifier ce bloc d'erreur dans toutes vos vues? Étant donné l'incroyable qualité des rails, je suppose qu'il y a une astuce pour que cela fonctionne?

Merci

Répondre

1

Si vous utilisez form_for et passer une instance de tout objet de votre formulaire représente, il sera mis automatiquement les erreurs en ligne avec les champs. Vous pouvez même prendre un peu plus loin et utiliser la gemme Formtastic. Il prend en charge la construction de HTML sémantique.

+0

Merci, mais je suis tellement perdu ici ... Dans mon modèle d'utilisateur j'ai des validations, à mon avis, j'ai le formulaire_for et l'avis de flash ... Où est le contrôleur pour tout cela? Comment puis-je transmettre les erreurs afin qu'elles sortent? S'il vous plaît aider! :) – AnApprentice

+0

Ce serait génial de voir comment utiliser avec formtastic, ne peut pas trouver de tutoriels – AnApprentice

+0

Si vous postez votre code de vue, je peux probablement vous donner un coup de main –

Questions connexes