diff --git a/app/helpers/flash_helper.rb b/app/helpers/flash_helper.rb new file mode 100644 index 0000000..9868beb --- /dev/null +++ b/app/helpers/flash_helper.rb @@ -0,0 +1,24 @@ +module FlashHelper + + def bootstrap_class_for flash_type + { + success: 'alert-success', + error: 'alert-danger', + alert: 'alert-warning', + notice: 'alert-info' + }.fetch(flash_type.to_sym, flash_type.to_s) + end + + def flash_messages + flash.each do |msg_type, message| + concat( + content_tag(:div, message, class: "alert #{bootstrap_class_for(msg_type)} fade in") do + concat content_tag(:button, 'x', class: 'close', data: { dismiss: 'alert' }) + concat message + end + ) + end + + nil + end +end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 3327a9e..3fdd9a6 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,29 +1,29 @@ Base <%= stylesheet_link_tag 'application', media: 'all' %> <%= javascript_include_tag 'application' %> <%= csrf_meta_tags %> <%= render "shared/nav" %>
- - <%= yield %> + <%= flash_messages %> + <%= yield %>