J'utilise Devise pour l'authentification et le formulaire de connexion utilise des notifications flash au lieu d'erreurs de formulaire pour afficher les problèmes lors de la connexion. Mais je souhaite mettre en évidence les champs de formulaire appropriés qui ont des erreurs associées comme se produit normalement dans les formes de rails. Quelqu'un sait-il comment faire ça?Comment capturer des erreurs de formulaire dans la page Se connecter avec Devise
Répondre
Selon la version Rails (avant 3 ou non), vous pouvez utiliser:
<%= f.error_messages_for :model %>
la version Rails avant l'utilisation 3.0, ce code pour gérer les erreurs de format. Dans Rails 3, cette méthode est devenue obsolète. Vous devez installer ce plugin pour utiliser le code erb ci-dessus.
Vous pouvez lire plus de détails sur cette modification dans le chapitre "Les nouvelles fonctionnalités" de this asciicast.
This tutorial couvre l'ensemble du processus de construction d'un système d'authentification basé sur concevant et cancan.
Ma question est plus spécifique à la manière dont la forme de signature de l'invention fonctionne. Le problème est qu'il n'ajoute pas les messages d'erreur de cette façon, il suffit de définir une notification flash. C'est ce que j'essaie de contourner. – 99miles
La valeur par défaut fonction erreurs Concevoir pour concevoir 1.1.5 peuvent être trouvés dans la gemme DEVISE:
-1.1.5 concevoir/app/helpers/devise_helper.rb
module DeviseHelper
def devise_error_messages!
return "" if resource.errors.empty?
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = "#{pluralize(resource.errors.count, "error")} prohibited this #{resource_name} from being saved:"
html = <<-HTML
<div id="error_explanation">
<h2>#{sentence}</h2>
<ul>#{messages}</ul>
</div>
HTML
html.html_safe
end
end
Je suppose que vous pourriez écraser ce module/fonction si vous voulez qu'il se comporte différemment.
Cela n'a pas fonctionné pour moi. Aucun message d'erreur n'a été généré. Peut-être que les choses ont changé. –
Les erreurs sont stockées dans une carte:
resource.errors
Si votre champ de formulaire appelé :email
, vous pouvez obtenir l'erreur associée à ceci:
resource.errors[:email]
C'est exactement ce que NE fait PAS ¬¬ – robertokl
Que voulez-vous dire? Les erreurs ne sont pas stockées dans resource.errors ou vous ne pouvez pas les obtenir avec resource.error [: email]? Il y a un an, ils étaient là. –
L'erreur déclenchée lorsqu'un utilisateur a entré ses informations d'identification incorrectes est "nom d'utilisateur ou mot de passe invalide", pour des raisons de bonne pratique. Ainsi, il n'y a aucun moyen d'attribuer l'erreur pour l'un ou l'autre champ. – robertokl
- 1. Filtrage des utilisateurs qui peuvent se connecter avec Devise
- 2. Comment capturer la page avec google map?
- 3. Comment se connecter efficacement avec des configurations?
- 4. Comment capturer des erreurs d'ActiveRecord :: Base.connection.execute dans Rails?
- 5. Rails: Warden/Devise - Comment capturer l'url avant la connexion/l'accès échoué
- 6. Comment se connecter HibernateCriteriaBuilder
- 7. Comment se connecter avec udp dans android?
- 8. Comment se connecter dans ASP.NET
- 9. Se connecter ou ne pas se connecter?
- 10. Comment se connecter à un champ dans la page de création de contenu dans Drupal?
- 11. Meilleur moyen de capturer les erreurs JavaScript dans la production?
- 12. comment se connecter dans WebSVN
- 13. Joomla - comment se déplacer se connecter depuis la page d'accueil à l'article page
- 14. Comment se connecter à facebook
- 15. Réessayer de se connecter avec la sécurité gérée par conteneur basée sur le formulaire
- 16. un script pour se connecter à la page Web
- 17. Comment se connecter avec Ruby et eventmachine?
- 18. Comment se connecter nsxmlparser
- 19. La soumission du formulaire avec des erreurs affiche le formulaire + erreurs à une URL différente du formulaire original
- 20. Commentaires de django: comment empêcher les erreurs de formulaire de rediriger l'utilisateur vers la page d'aperçu?
- 21. comment se connecter microsoft crm avec Delphi?
- 22. Erreurs de formulaire imbriquées
- 23. Comment se connecter à la base de données dans zf
- 24. Mail php - erreurs avec formulaire
- 25. se connecter à firefox avec C#
- 26. comment capturer des répétitions de touches avec javascript
- 27. Comment se connecter à la console JBoss
- 28. Rest-client se connecter avec authlogic
- 29. Comment git se connecter dans l'ordre inverse?
- 30. Non Se connecter à la page Web sur Android
Avez-vous déjà vu cette http: // Railscasts. com/episodes/209-introduction-concevoir et ce http://railscasts.com/episodes/210-customizing-devise? – microspino
J'ai vu ceux-ci. Il affiche toujours une erreur pour l'ensemble du formulaire de connexion. – 99miles