Exibindo mensagens no Rails

08/12/06

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.

Exibindo mensagens para o usuário

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.

Firefox vs Flash 9

19/10/06

Bom, todo mundo está sabendo que saiu a versão beta do Flash 9. Instalei, para ver como está a coisa mas já voltei para a versão 7. Isso porque toda vez que eu tentava ver um vídeo no youtube, o player travava por volta dos 30 segundos e ficava sem som. Tentei acessar um outro site e o plugin literalmente travou o Firefox. Viver sem Flash 9 eu consigo, mas sem youbube…

Por isso, vou esperar sair a versão final! Fica a dica caso seu browser comece a travar muito após instalar o novo plugin.