Exibindo mensagens no Rails
Leia em menos de um minuto
Sempre tive o costume de diferenciar as mensagens que exibo ao usuário em 4 tipos: info, notice, warning e error. Dessa forma, consigo exibir cada mensagem com formato visual diferente.
No Rails é muito simples fazer isso. Basta colocar o método abaixo no arquivo "application_helper.rb".
module ApplicationHelper
def flash_message
messages = ""
[:notice, :info, :warning, :error].each {|type|
if flash[type]
messages += "<p class=\"#{type}\">#{flash[type]}</p>"
end
}
messages
end
end
No seu controller, você define as mensagens utilizando o flash
.
flash[:notice] = "Informações salvas com sucesso."
flash[:warning] = "Preencha todos os campos obrigatórios."
flash[:error] = "Não foi possível salvar as informações."
flash[:info] = "Você tem mensagens não visualizadas."
Na sua view basta você chamar o método da seguinte maneira:
<%= flash_message %>
Uma outra vantagem de utilizar este método é que caso nenhuma mensagem tenha sido definida, ele não exibe um elemento vazio na página.