使用rails partials渲染Bootstrap模态会在视图

时间:2015-06-05 13:48:13

标签: ruby-on-rails-4 twitter-bootstrap-3 bootstrap-modal

我有多个rails视图共享同一个Bootstrap模式,我想在我的<%= render 'shared/modal' =>中使用partial layout/application.html.erb来渲染它。

当我第一次访问其中一个视图时,模态的效果非常好。但是,随后访问共享相同模态部分的其他视图将生成多个模态背景,这会使背景变暗。如下:

首次访问,这很好:

<div class="modal-backdrop fade in"></div>

随后访问共享相同部分的观点:

<div class="modal-backdrop fade in"></div>
<div class="modal-backdrop fade in"></div>
<div class="modal-backdrop fade in"></div>
....
<div class="modal-backdrop fade in"></div>

当我路由到不同的视图并触发模态时,模态背景div不会消失。我是rails的新手,不确定会发生什么,我试图在线搜索解决方案,没有人帮忙,任何帮助都会非常感激。

这是我的模范部分:

<div aria-hidden='true' class='modal fade' id='modal' role='dialog' tabindex='-1'>
  <div class='modal-dialog'>
    <div class='modal-content'>
      <div class='modal-header'>
        ...
      </div>

      <div class='modal-body'>
        ...
      </div>

      <div class='modal-footer'>
        ....
      </div>
    </div>
  </div>
</div>

和我的layout/application.html.erb

<body>
  <%= yield %>
  <%= render 'share/modal' %>
</body>

1 个答案:

答案 0 :(得分:-1)

检查视图中是否有更多模态生成多个背景。尝试在一个视图中使用不同的类名。