Exibir mensagens flash com Semantic-UI no Rails

Isso é inspirado no proTip de James Brook .

Então, você tem o ajudante:

#app/helpers/application_helper.rb
def flash_class(level)
case level
when :success then "ui green message"
when :error then "ui red message"
when :notice then "ui blue message"
end
end

Então na vista

<% flash.each do |key, value| %>
<div class="
<%= flash_class(key) %> closable">
<i class="close icon"></i>
<%= value %>
</div>
<% end %>

Um pouco de estilo para a mensagem

.message.closable {
margin
-left: 20%;
margin
-right: 20%;
}

E finalmente o javascript para a ação fadeOut

$ ->
$
(".message.closable .close.icon").on "click", ->
$
('.message.closable').fadeOut("slow")
false