Ruby 如何在rails中超时flash消息
目前,我有标准的flash消息和Desive gem,用于成功/失败等。我添加了通过close类使用一些引导功能手动关闭消息的选项。下面显示了一个小片段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">×</a> <%= content_tag :div, msg, :id => "flash_#{name}" %> } { × “flash{name}”%> } 我希望有一个选项
{
<a class="close" data-dismiss="alert">×</a>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
}
{
×
“flash{name}”%>
}
我希望有一个选项来创建一个超时时间,在这个时间段内,警报消息将在5秒后关闭。不确定在Rails中是否有一种简单的方法来实现这一点
谢谢如果您在同一页面中加载了jQuery,这将对您有用
<div id="flash">
<a class="close" data-dismiss="alert">×</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);
})
警报类
应用程序.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();