【问题标题】:Bootstrap modal show up twiceBootstrap 模态显示两次
【发布时间】:2012-08-01 09:50:27
【问题描述】:

在我的 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>

编辑1

在我在 Heroku 上的暂存应用程序中,模态运行良好。 奇怪的是,在我上次推送 heroku 之后,我没有编辑任何与模式和注册页面相关的内容。 我最近将操作系统更改为 Mountain Lion,因此可能与操作系统有关。

编辑2

我做了“git push staging master”并尝试了模态是否可以正常工作,并且工作正常。 很奇怪..

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 我尝试了您的解决方案,现在 modal 在我的本地服务器上运行良好,谢谢。我认为我的载波和环境设置有问题。因为我在尝试 assets:precompile 时不断出错。无论如何,谢谢!
    • 如果我的回答能解决您的问题,请随时查看绿色箭头。 :D
    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 2015-10-31
    • 2021-08-04
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多