在rails 3上的ruby中帮助嵌套content_tag

时间:2011-02-02 21:47:49

标签: ruby-on-rails ruby-on-rails-3

我在application_helper.rb中使用此方法来显示闪光灯。但是,我需要它来显示闪光灯的内容和闪光灯消失的链接,我似乎无法做到这一点。它现在所做的只是显示“关闭”链接。

  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

1 个答案:

答案 0 :(得分:0)

这是我提出的解决方案。这不是最好的,因为它将整个flash消息包裹在<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