在Rails中显示Flash通知的最佳方法

时间:2012-12-22 18:23:10

标签: javascript jquery ruby-on-rails ruby erb

我在Rails和Devise中使用通知,并想知道显示它们的最佳方式是什么?

在我的应用程序中我也有它,所以当用户保存帖子时,它会使用Ajax保存它并使用jQuery显示通知。

对于我使用的所有通知:

<% flash.each do |key,msg| %>
    <div class="message" id="<%= key %>">
        <div class="message-inner">
            <%= content_tag :div, msg %>
            <a class="dismiss">x</a>
        </div>
    </div>
<% end %>

代码是:

$("#notice").html("Saved.");

我希望它是闪光灯通知,以便它从顶部向下滑动,几秒钟后,它会再次滑回。

由于我在保存帖子而不使用Rails通知时使用jQuery进行通知,这意味着我必须在application.html中拥有<div id="notice"></div>flash.each。 erb文件。

我可以将它们全部加在一起,所以我只使用一个通知并让它从顶部向下滑动,然后在几秒钟之后滑出一段距离吗?

1 个答案:

答案 0 :(得分:8)

我会默认隐藏通知。然后拨打

$('#notice').html("Saved.").slideDown(500).delay(3000).slideUp(500)

您可以调整jQuery方法中的数字,但是您想要为动画计时。