#18
Apr 13, 2007

Looping Through Flash

Displaying flash messages in the layout can be a pain at times. In this episode you will learn an easy way to display any kind of flash message by looping through the hash.
Tags: views
Download (6.3 MB, 1:44)
alternative download for iPod & Apple TV (2.7 MB, 1:44)
<!-- layouts/application.rhtml -->
<% flash.each do |key, msg| %>
  <%= content_tag :div, msg, :id => key %>
<% end %>

RSS Feed for Episode Comments 8 comments

1. Olek Poplavsky Jul 22, 2007 at 07:40

This is fine approach, but it will display errors mixed with warnings in no particular order, and that is not good in my opinion. I prefer messages sorted in order of decreasing severity: [:error, :warning, :notice, :message]

I have some code that does it, but I written it at the very beginning of studying ruby/rails, so I will not posit it here, it is not pretty ;)


2. Ryan Bates Jul 22, 2007 at 08:15

How about this: http://pastie.caboo.se/81153


3. meekish Jan 25, 2008 at 14:15

Here's a HAML version: http://pastie.textmate.org/143587


4. kino May 23, 2008 at 01:55

Philosophy can thereby determine in its totality, in other words, the Antinomies.


7. austin_web_developer Dec 08, 2008 at 06:42

Does anyone have the problem where the flash message stays on the page one reload more than it is supposed to?

So if you reload the page, the flash message is still there, but it goes away after a second reload.

Its a problem because if you carry out an action and you get an error, then do it again and get a success message, the previous message is displayed on the page at the same time as the current one.


7. Travis Roberts Dec 11, 2008 at 11:31

@austin_web_developer You can fix this by using flash.now[:notice] instead of flash[:notice]. I wrote a blog post explaining how the flash hash works: http://travisonrails.com/2008/08/17/Working-with-the-flash-hash"


8. tiffany-rings-c-69.html May 06, 2009 at 19:38

http://www.tiffanya.com


9. tiffany pendants May 06, 2009 at 23:04

that very good!

Add your comment:

(SKIP THIS ONE)

(required)

(not shown)


(use pastie or gist for code)

sponsored by:
if you want to help:
required:
Get Quicktime Player