With the following additions, you can call a helper method in your Rails views to display standard flashes (e.g., :notice, :warning, and :error).
Add the following lines to ApplicationHelper in /app/helpers/application_helper.rb
def display_standard_flashes(message = 'There were some problems with your submission:')
if flash[:notice]
flash_to_display, level = flash[:notice], 'notice'
elsif flash[:warning]
flash_to_display, level = flash[:warning], 'warning'
elsif flash[:error]
level = 'error'
if flash[:error].instance_of? ActiveRecord::Errors
flash_to_display = message
flash_to_display << activerecord_error_list(flash[:error])
else
flash_to_display = flash[:error]
end
else
return
end
content_tag 'div', flash_to_display, :class => "flash #{level}"
end
def activerecord_error_list(errors)
error_list = '<ul class="error_list">'
error_list << errors.collect do |e, m|
"<li>#{e.humanize unless e == 'base'} #{m}</li>"
end.to_s << '</ul>'
error_list
end