如果没有内容,如何隐藏引导警报?

时间:2018-02-27 01:54:18

标签: javascript html ruby-on-rails twitter-bootstrap

我有一个引导警报,如果里面没有任何文字,它应该隐藏起来。我能够使警报不占用整个屏幕,但是剩下的就是它的一小部分在页面顶部。我一直在尝试使用此处找到的代码(How to hide Bootstrap alert box when no message),但这种情况发生了。enter image description here

以下是代码:

comment_id

修改:<%notice%>是警告文本,#notice是div的id

1 个答案:

答案 0 :(得分:1)

您可以在没有jQuery的情况下完成此操作,您不需要jQuery,如下所示

<% if notice.present? %>
  <div id="notice" style="text-align: center;">
    <span role="alert" class="alert alert-success">
        <%= notice %>
    </span>
  </div>
<% end %>

如果您的控制器闪存

,您可以将此类设置为动态,例如alertnoticesuccessdanger
flash[:alert] = 'Model was successfully created.'
or
flash[:notice] = 'Model was successfully created.'
or
flash[:success] = 'Model was successfully created.'
or
flash[:danger] = 'Model was successfully created.'

现在你的flash部分将是

<% flash.each do |name, msg| %>
    <div id="notice" style="text-align: center;">
        <span role="alert" class="alert alert-<%="#{name}" %>">
        <p><%= msg if msg.is_a?(String) %></p>
    </span>
<% end %>

那就是它。

希望能帮到你。