我真的很困惑如何在我的rails应用程序中隐藏flash消息。我已阅读文档,但我不确定如何正确执行此操作。我希望有人能指出我正确的方向。
对于我的应用,我有一条提示视频/评论/ sign_in,sign_up等的flash消息/提醒。以下是我的application.html.erb文件中的flash代码:
<% flash.each do |name, msg| %>
<% if msg.is_a?(String) %>
<div data-alert class="alert-box <%= name.to_s == 'notice' ? 'success' : 'alert'
n%>">
<%= content_tag :div, msg %>
</div>
<% end %>
<% end %>
我感到困惑的部分是jquery部分。在Foundation上,文档说要自定义它,你需要这三个文件:
<script src="js/vendor/jquery.js"></script>
<script src="js/foundation/foundation.js"></script>
<script src="js/foundation/foundation.alert.js"></script>
我认为这些文件已经存在。我是否需要在app / assets / javascripts /目录下创建它们?另外,为什么我需要在应用程序文件的底部添加这些?我认为这个标签
<%= javascript_include_tag "application" %>
适合我吗?它应该因为* require树对吗?
我只是对什么在哪里以及需要做什么感到困惑?例如,要隐藏flash消息,我会把它放在哪里?
$(document).ready(function(){
$('.alert-box alert').fadeOut(1000);
$('.alert-box success').fadeOut(1000);
});
这是否在foundation.alert.js文件,foundation.js文件或vendor / jquery.js文件中或完全不同的地方。一些帮助会很好。所以很困惑.......
答案 0 :(得分:0)
我需要类似的功能,我只需要在一个特定的页面上淡出flash消息。
我创建了一个单独的JS文件,并在application.js
中需要它。
我认为将它应用于您需要将其放入foundation.alert.js
答案 1 :(得分:0)
试试这个
setTimeout(function() { $(".alert-box a.close").trigger("click.fndtn.alert"); }, 1000);