Mes messages Flash apparaissent deux fois et ma recherche Web me dit que cela est dû à rendre et à rediriger l'affichage des messages. Je pense que je dois utiliser Flash.Now [] ou Flash [] quelque part pour trier cela, mais je ne peux pas travailler là où il doit aller
Guidelines_Controller.rb p>
def show @guideline = Guideline.find(params[:id]) if @guideline.updated_by @updated = User.find(@guideline.updated_by).profile_name end if User.find(@guideline.user_id) @created = User.find(@guideline.user_id).profile_name end respond_to do |format| format.html # show.html.erb format.json { render json: @guideline } end end
3 Réponses :
Vous pouvez faire quelque chose comme ceci afin de sauvegarder certaines lignes de code et d'afficher les messages qu'une seule fois: à l'aide de flash.discard, vous affichez le message Flash pour éviter le rendu. deux fois p> p>
Merci - j'ai ajouté que à ma disposition de l'application (au lieu de ce qui est ci-dessus). Maintenant, il affiche encore deux fois mais sans la ligne de bootstrap (qui était sur l'un d'entre eux seulement) ... Toutes les idées Pourquoi cela pourrait-il se produire?
Son ennuyeux que même jeter le message Flash, vous obtenez le flash en cours d'affichage deux fois. Et si vous mettez un <% = flash de débogage%> avant de montrer le flash, pour voir si vous avez dupliqué des messages Flash? Qui peut être le problème.
Juste avant le <% - si flash.any? %> d'avant le flash.Chaque, le <% = Débug @Flash%> affichera simplement le contenu du flash. Il serait préférable que vous puissiez utiliser un point d'arrêt, et dans ce cas, vous pouvez vérifier le contenu du flash par vous-même et ne pas avoir à le rendre à l'écran.
Il suffit de s'afficher --- ... et ensuite sous dit le "message de réussite" deux fois.
Si vous entrez dans le chat Stackoverflow, je pourrais peut-être vous aider: chat.stackoverflow.com/rooms/5676 / ruby-on-rails
Grâce à @RORRA qui a subi une douleur à la douleur, passa à mon code, nous avons trouvé un message Flash supplémentaire affichant sur la vue Afficher. Supprimé cela et tout fonctionnait bien.
J'avais aussi le même problème et j'ai également été dû à un autre appel de J'ai pu changer de code pour travailler avec Bootstrap 4. Il est même renvoyé car il est censé. Les trois choses qui devaient changer étaient toutes traitant de la classe de la div pouvant afficher l'avis de Flash. p> La dernière chose est que je l'ai envoyé à la vue du contrôleur comme Voici le code final qui a fonctionné pour moi. En le mettant ici au cas où quelqu'un en a besoin maintenant 7 ans après que la réponse initiale ait été donnée. p> <% = Render 'partagé / alertes'%> code> après mon chèque pour
flash code>. J'ai aimé l'idée de @ Rorra de faire un
flash_key code>. Mais ici dans l'année 2020, cela ne fonctionnait pas comme @TessAd a déclaré. Il montrerait le message, mais pas au format en bootstrap correctement.
alerte-message code> devient juste
alerte code> et le
flash_key code> doit avoir < code> alerte - code> avant de cela. p>
flash [: Avis] code>, qui n'est pas une alerte de bootstrap reconnue . Lorsque je l'ai changé en
Flash [: AVERTISSEMENT] CODE> Il est apparu correctement. P>
Pour les types d'alerte de bootstrap actuels, allez ici: getbootstrap.com/docs/4.0/composent/alerts --/ a> primaire, secondaire, succès, danger, avertissement, info, lumière et sombre
Passez cela ici pour que quiconque a des problèmes.
J'avais des messages flash apparaissant deux fois parce que j'avais quelque chose dans de sorte que la solution consistait à les supprimer des vues. p> ici Un excellent tutoriel qui démontre l'enlèvement d'un seul modèle / vue p > Fondamentalement, si vous avez quelque chose comme ça dans votre supprimer simplement l'équivalent de chaque des vues. C'est à dire. Supprimez cette ligne du haut de chaque vue p> application.html.erb code> raconter mon application pour afficher les messages Flash, mais j'avais Vues précédemment générées avec
Rails générer des poteaux d'échafaudes code> etc., afin d'ajouter automatiquement les messages Flash à toutes les vues. p>
application.html.erb code>: p>
Essayez de corriger que
<% fin de%> code> appelez-les avant le
div code>. Je ne vois aucun problème avec votre code de contrôleur. Je ne pense pas non plus que vous devez utiliser
flash.discard code>
ont édité comme ci-dessus (c'est ce que vous vouliez dire?) Mais le même problème se produit.
Nan. Vous devez fermer la DIV d'abord avant la boucle. Essayez d'indenter votre code correctement afin qu'il correspond à des balises / code d'ouverture et de fermeture
désolé, je n'ai pas mis mon édition correctement - je l'ai édité (maintenant corrigé ci-dessus) mais toujours pas de joie
À quoi ressemble votre demande de votre guide? Je suppose que vous faites une demande HTML lorsque vous voyez ce problème?
Merci, j'ai ajouté l'action de spectacle ci-dessus ...