2013-03-22 36 views
10

我目前有成功/失败等设计gem的标准flash消息。我添加了一些选项,通过关闭类来手动关闭带有一些引导功能的消息。下面显示了一小段代码。如何在导轨中暂停flash消息

{ 
    <a class="close" data-dismiss="alert">&#215;</a> 
    <%= content_tag :div, msg, :id => "flash_#{name}" %> 
} 

我想创建一个选项来创建一个超时期限,其中警告消息将在5秒钟后关闭。不确定在Rails中是否有一种简单的方法。

感谢

+0

JavaScript的'setTimeout'方法是你的朋友。 – HungryCoder 2013-03-22 18:38:45

回答

27

如果你的jQuery装在同一个页面,这会为你工作

<div id="flash"> 
    <a class="close" data-dismiss="alert">&#215;</a> 
    <%= content_tag :div, msg, :id => "flash_#{name}" %> 
</div> 

<script type="text/javascript"> 
$(document).ready(function(){ 
    setTimeout(function(){ 
    $('#flash').remove(); 
    }, 5000); 
}) 
</script> 
+0

谢谢这应该工作。它看起来像代码缺少关闭“)”,你可能想编辑和修复。 – 2013-03-25 17:54:42

+0

有更新,谢谢。 – HungryCoder 2013-03-26 03:44:40

+0

这应该去哪里?我试图将它添加到我的'application.js'和我的'_header.html.erb',但它不起作用。仅供参考,我的确在应用程序中使用了jQuery,这要归功于'// require jquery // = require jquery.turbolinks // = require'jquery_ujs' in application.js'。我错过了什么吗? – 2015-10-13 00:42:40