Bootstrap模态出现两次

时间:2012-08-01 09:50:28

标签: ruby-on-rails twitter-bootstrap modal-dialog

在我的rails应用程序中,我正在使用Twitter引导程序。

之前,一切都很好,但突然之间模态开始显示两次。 我不知道发生了什么..我的代码如下所示。

设计/注册/ new.html.erb

<%= link_to "Terms of Service", terms_in_modal_path, {:class => "show-terms", :remote => true}

pages_controller

def terms_in_modal
  respond_to do |format|
    format.js
  end
end

terms_in_modal.js.erb

$("#signup-modal").html('<%= escape_javascript render(:partial => "terms_in_modal") %>');
$('#show-terms').modal('show');

_terms_in_modal.html.erb

<div id="show-terms" class="modal hide fade in">
...
</div>

单击链接后,会显示两个模态,输出html如下所示。

<div id="signup-modal">
  <div id="show-terms" class="modal hide fade in" style="display: block; ">
    <div class="modal-header">
    ...
  </div>
</div>

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

<div id="show-terms" class="modal hide fade in" style="display: block; ">
    <div class="modal-header">
    ...
</div>

EDIT1

在我的Heroku登台应用程序中,模态工作正常。 奇怪的是,在我上次推送heroku之后,我没有编辑任何与模态和注册页面有关的内容。 我最近将操作系统更改为Mountain Lion,因此它可能与操作系统有关。

EDIT2

我做了“git push staging master”并尝试了模式将正常工作,并且它工作正常。 非常奇怪......

1 个答案:

答案 0 :(得分:2)

它在您的本地环境中执行此操作很可能是因为您在Heroku中所需的编译资产与Rails在开发环境中即时包含的资产相冲突。为防止这种情况发生,您很可能只需rm -rf public/assets即可删除预编译资产。你应该确保在每次推送到Heroku之前重新编译它们。