2011-02-02 71 views
0

我在application_helper.rb中使用这种方法来显示flash。但是,我需要它来显示闪光灯的内容和使闪光灯消失的链接,而我似乎无法做到这一点。它现在所做的只是显示一个“关闭”链接。在rails上嵌套content_tag的帮助3

def show_flash 
     [:notice, :error, :alert].collect do |key| 
     content_tag(:div, (flash[key] and content_tag(:a, "close", :class => "#{key}", :href => "#", :onclick => "$('messages').fade(); return false;")), :id => key, :class => "flash_#{key}") unless flash[key].blank? 
     end.join 
    end 

回答

0

这是我想出的解决方案。这不是最好的,因为它将整个闪光消息包装在一个<a>标签中,但它运行得很好。

def show_flash 
     [:notice, :errors, :alert].collect do |key| 
     msg = (flash[key].to_s + " (click to close)") 
     content_tag(:div, (content_tag(:a, msg, :class => "#{key}", :href => "#", :onclick => "$('messages').fade(); return false;")), :id => key, :class => "flash_#{key}") unless flash[key].blank? 
     end.join 
    end