2016-03-29 3 views
1

J'ai conçu deux avis de flash pour mon application rails 4. Le premier est censé apparaître sur toutes les pages (lorsqu'un événement se produit), donc je l'ai écrit dans mon fichier application.html.erb. Le second ne devrait apparaître sur la page de destination qu'avec son CSS personnalisé.en évitant application.html.erb pour les notifications de flash sur les rails app landing page

À l'heure actuelle, les deux s'affichent sur la page de destination. Comment puis-je éviter le premier (écrit dans application.html.erb) uniquement pour ma page de destination?

Répondre

0

Si vous voulez éviter de rendre vos avis flash pour particulier controller ou action, alors vous pouvez faire quelque chose comme ça -

<% unless params[:action] == 'something' %> 
    <% flash.each do |key, value| %> 
    <div class="alert alert-<%= key %>"><%= value %></div> 
    <% end %> 
<% end %> 
+0

OMG .. cela fonctionne .. merci beaucoup .. –

+0

@SohailAslam Heureux que cela a fonctionné pour vous! :) Vous pouvez accepter ceci comme réponse si elle a résolu votre problème. – dp7

+0

fait .. merci encore –

0

Vous pouvez vérifier l'action du contrôleur & en application.html.erb pour afficher les messages flash comme: considérant le chemin racine: root "home#index"home est le contrôleur et index est l'action.

<% unless controller_name == 'home' && action_name == 'index' %> 
    <% flash.each do |key, value| %> 
    <div class="alert alert-<%= key %>"><%= value %></div> 
    <% end %> 
<% end %> 

Il fonctionnera pour vous, plus je veux vous donner un essai à gem 'metamagic' pour examen ultérieur.

+0

merci beaucoup bro .. cela a fonctionné .. :) –