2010-10-06 3 views
1

Pour mon application rails, j'utilise une disposition fixe avec 2 colonnes (une main et une droite). Pour l'instant, les messages flash sont affichés dans le contenu div mais je voudrais montrer flash msg dans le div "principal" (principal < contenu < conteneur).Rails/CSS Afficher les messages flash dans une colonne principale d'une disposition fixe avec 2 colonnes

Je ne sais pas ce que c'est le mieux de le faire. En fait, ai-je dû créer un assistant de message flash et l'ajouter dans toutes mes vues, ai-je dû créer un partiel, changer quelque chose avec la mise en page ou existe-t-il une autre solution?

Voici ma structure application.html.erb:

... 
<body> 
    <div id="container"> 
    <%= render 'layouts/header' %> 
    <div id="content"> 
     <% flash.each do |name, msg| %> 
     <%= content_tag :div, msg, :id => "flash_#{name}" %> 
     <% end %> 
     <%= content_tag :h1, yield(:title) if show_title? %> 
     <%= yield %> 
    </div> 
    <%= render 'layouts/footer' %> 
    </div> 
</body> 
... 

et par exemple un de mes vues: (home/index.html.erb)

<div id="rightside"> 
    ... 
</div> 
<div id="main"> 
    ... <-- Here I want to display flash! 
</div> 

Merci pour toutes suggestions!

Répondre

1

Deux possibilités viennent à l'esprit:

1) Utiliser le positionnement absolu pour déplacer le message flash sur, ce qui représente le décalage créé par la barre latérale.

2) Déplacez simplement le code de votre message flash dans l'affichage où vous voulez qu'il apparaisse. Cela nécessiterait plus de duplication du code, mais vous pourriez le mettre dans un partiel afin qu'il n'y ait qu'une seule ligne dans vos vues tout au plus.

+0

Merci pour votre réponse, j'ai utilisé votre deuxième idée qui correspond mieux à mes besoins – benoitr

Questions connexes