Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在rails中超时flash消息_Ruby_Ruby On Rails 3_Twitter Bootstrap_Alert - Fatal编程技术网

Ruby 如何在rails中超时flash消息

Ruby 如何在rails中超时flash消息,ruby,ruby-on-rails-3,twitter-bootstrap,alert,Ruby,Ruby On Rails 3,Twitter Bootstrap,Alert,目前,我有标准的flash消息和Desive gem,用于成功/失败等。我添加了通过close类使用一些引导功能手动关闭消息的选项。下面显示了一个小片段 { <a class="close" data-dismiss="alert">&#215;</a> <%= content_tag :div, msg, :id => "flash_#{name}" %> } { × “flash{name}”%> } 我希望有一个选项

目前,我有标准的flash消息和Desive gem,用于成功/失败等。我添加了通过close类使用一些引导功能手动关闭消息的选项。下面显示了一个小片段

{ 
  <a class="close" data-dismiss="alert">&#215;</a>
  <%= content_tag :div, msg, :id => "flash_#{name}" %>
}
{
×
“flash{name}”%>
}
我希望有一个选项来创建一个超时时间,在这个时间段内,警报消息将在5秒后关闭。不确定在Rails中是否有一种简单的方法来实现这一点


谢谢

如果您在同一页面中加载了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>

×
“flash{name}”%>
$(文档).ready(函数(){
setTimeout(函数(){
$('#flash')。删除();
}, 5000);
})
  • 确保您的div具有
    警报类
  • 应用程序.js
    或其他
    .js
    文件中添加以下代码:
  • 看着它消失

  • 在Rails 6中使用普通Javascript(将代码放入
    app/Javascript/packs/application.js
    ),我使用以下代码隐藏带有Bulma
    '.notification'
    类的flash消息

    function hideNotice() {
      setInterval(function() {
        document.querySelector('.notification').style.display = "none";
      }, 5000);
    }
    
    hideNotice();
    

    javascript的
    setTimeout
    方法是您的朋友。这应该放在哪里?我试图将它添加到我的
    应用程序.js
    \u header.html.erb
    中,但没有成功。仅供参考,由于
    application.js
    中的
    /=require jQuery//=require jQuery.turbolinks//=require jQuery\u ujs
    ,我的应用程序中确实有jQuery。我遗漏了什么吗?虽然不是javascript的理想位置,但您可以将整个代码片段放在布局文件中。一、 通常,将标记放在部分中,将其包含在布局中(例如application.html.*),将javascript放在js文件中,并将其包含在javascript清单文件中。
    function hideNotice() {
      setInterval(function() {
        document.querySelector('.notification').style.display = "none";
      }, 5000);
    }
    
    hideNotice();